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