controller和model类的validate方法支持指定场景 例如 $this->validate('User.edit');

This commit is contained in:
thinkphp
2016-03-21 14:40:06 +08:00
parent 0583e4d2b6
commit 74b0c76870
2 changed files with 19 additions and 4 deletions

View File

@@ -156,15 +156,24 @@ class Controller
$v = Loader::validate(Config::get('default_validate'));
$v->rule($validate);
} else {
if (strpos($validate, '.')) {
// 支持场景
list($validate, $scene) = explode('.', $validate);
}
$v = Loader::validate($validate);
if (!empty($scene)) {
$v->scene($scene);
}
}
if (is_callable($callback)) {
call_user_func_array($callback, [$v, &$data]);
}
if (is_array($message)) {
$v->message($message);
}
if (is_callable($callback)) {
call_user_func_array($callback, [$v, &$data]);
}
if (!$v->check($data)) {
return $v->getError();
} else {