我正在尝试一种针对Validator :: extend方法的创造性方法。
我们在SchemaValidator
类中需要一个自定义类Validator
中的一个函数。
public function getValidated()
{
return array_intersect_key ($this->getData(), $this->getRules());
}
在app / start.php中
Validator::extend('getValidated', 'SchemaValidator@getValidated');
最后,我们调用常规的Validator类
$validator = Validator::make ($input, $rules);
// ... some error checks
return $validator->getValidated();
然而,这失败了。我忘了什么吗?
或者我害怕我只是在滥用Validator::extend
?
编辑: 错误输出
BadMethodCallException
Method [getValidated] does not exist.
答案 0 :(得分:1)
尝试使用SchemaValidator类的完整路径。 IE:
Validator::extend('getValidated', '\App\Services\SchemaValidator@getValidated');