mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-01 12:42:48 +08:00
改进model的validate方法
This commit is contained in:
@@ -376,6 +376,8 @@ class Loader
|
||||
$class = str_replace('\\' . $module . '\\', '\\' . COMMON_MODULE . '\\', $class);
|
||||
if (class_exists($class)) {
|
||||
$validate = new $class;
|
||||
} else {
|
||||
throw new Exception('class [ ' . $class . ' ] not exists', 10001);
|
||||
}
|
||||
}
|
||||
$_instance[$name . $layer] = $validate;
|
||||
|
||||
@@ -989,12 +989,14 @@ class Model
|
||||
protected function dataValidate(&$data)
|
||||
{
|
||||
if (!empty($this->options['validate'])) {
|
||||
$info = $this->options['validate'];
|
||||
$name = is_string($info) ? $info : $this->name;
|
||||
$validate = Loader::validate($name);
|
||||
$info = $this->options['validate'];
|
||||
if (is_array($info)) {
|
||||
$validate = Loader::validate();
|
||||
$validate->rule($info['rule']);
|
||||
$validate->message($info['msg']);
|
||||
} else {
|
||||
$name = is_string($info) ? $info : $this->name;
|
||||
$validate = Loader::validate($name);
|
||||
}
|
||||
if (!$validate->check($data)) {
|
||||
$this->error = $validate->getError();
|
||||
|
||||
@@ -520,11 +520,14 @@ class Validate
|
||||
* @access public
|
||||
* @param mixed $value 字段值
|
||||
* @param mixed $rule 验证规则
|
||||
* @param mixed $param 参数
|
||||
* @return bool
|
||||
*/
|
||||
public function filter($value, $rule, $param = null)
|
||||
public function filter($value, $rule)
|
||||
{
|
||||
if (is_string($rule)) {
|
||||
$rule = explode(',', $rule);
|
||||
}
|
||||
list($rule, $param) = $rule;
|
||||
return false !== filter_var($value, is_int($rule) ? $rule : filter_id($rule), $param);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user