protected function validateData($data)
{
if (!empty($this->validate)) {
$info = $this->validate;
if (is_array($info)) {
$validate = Loader::validate();
$validate->rule($info['rule']);
$validate->message($info['msg']);
} else {
$name = is_string($info) ? $info : $this->name;
if (strpos($name, '.')) {
list($name, $scene) = explode('.', $name);
}
$validate = Loader::validate($name);
if (!empty($scene)) {
$validate->scene($scene);
}
}
if (!$validate->check($data)) {
$this->error = $validate->getError();
if ($this->failException) {
throw new ValidateException($this->error);
} else {
return false;
}
}
$this->validate = null;
}
return true;
}