validate类的extend方法支持批量设置 修正单元测试

This commit is contained in:
thinkphp
2016-03-20 11:27:11 +08:00
parent fa9eae4a26
commit bc5e9897c5

View File

@@ -111,9 +111,13 @@ class Validate
* @param mixed $callback callback方法(或闭包)
* @return void
*/
public function extend($type, $callback)
public function extend($type, $callback = null)
{
$this->type[$type] = $callback;
if (is_array($type)) {
$this->type = array_merge($this->type, $type);
} else {
$this->type[$type] = $callback;
}
return $this;
}
@@ -524,10 +528,13 @@ class Validate
*/
public function filter($value, $rule)
{
if (is_string($rule)) {
$rule = explode(',', $rule);
if (is_int($rule)) {
$param = null;
} elseif (is_string($rule) && strpos($rule, ',')) {
list($rule, $param) = explode(',', $rule);
} elseif (is_array($rule)) {
$param = isset($rule[1]) ? $rule[1] : null;
}
list($rule, $param) = $rule;
return false !== filter_var($value, is_int($rule) ? $rule : filter_id($rule), $param);
}