Laravel中的Validator扩展方法

时间:2014-09-12 07:21:41

标签: php laravel validation extend

我正在尝试一种针对Validator :: extend方法的创造性方法。 我们在SchemaValidator类中需要一个自定义类Validator中的一个函数。

SchemaValidator.php中的

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.

1 个答案:

答案 0 :(得分:1)

尝试使用SchemaValidator类的完整路径。 IE:

Validator::extend('getValidated', '\App\Services\SchemaValidator@getValidated');