diff --git a/library/think/Validate.php b/library/think/Validate.php index ebae5f63..c3264913 100644 --- a/library/think/Validate.php +++ b/library/think/Validate.php @@ -585,12 +585,12 @@ class Validate */ protected function filter($value, $rule) { - if (is_int($rule)) { - $param = null; - } elseif (is_string($rule) && strpos($rule, ',')) { + if (is_string($rule) && strpos($rule, ',')) { list($rule, $param) = explode(',', $rule); } elseif (is_array($rule)) { $param = isset($rule[1]) ? $rule[1] : null; + } else { + $param = null; } return false !== filter_var($value, is_int($rule) ? $rule : filter_id($rule), $param); } diff --git a/tests/thinkphp/library/think/modelTest.php b/tests/thinkphp/library/think/modelTest.php index 22c3075a..74f3595b 100644 --- a/tests/thinkphp/library/think/modelTest.php +++ b/tests/thinkphp/library/think/modelTest.php @@ -49,7 +49,7 @@ class modelTest extends \PHPUnit_Framework_TestCase ]; $validate = [ - ['username', 'length:5,15|unique:user', '用户名长度为5到15个字符|用户名已经存在'], + ['username', 'length:5,15', '用户名长度为5到15个字符'], ['nickname', 'require', '请填昵称'], ['password', '[\w-]{6,15}', '密码长度为6到15个字符'], ['repassword', 'confirm:password', '两次密码不一到致'],