这在Laravel 5.7(验证者合同)中是什么意思

时间:2018-11-26 16:33:08

标签: php laravel validation

从Laravel 5.7升级指南中:

  

验证者合同的影响可能性:非常低
  验证方法已添加到Illuminate \ Contracts \ Validation \ Validator合同中:

/**
 * Run the validator's rules against its data.
 * @return array
 */
public function validate(); 
     

如果要实现此接口,则应将此方法添加到实现中。

是吗? 将此方法添加到您的实现中是什么意思?我的代码中有一些验证,例如:

$this->validate($request, [
    // rules are placed here...
]);

现在PhpStorm大喊未处理的验证异常 ...

1 个答案:

答案 0 :(得分:0)

这基本上意味着,如果您有自己的Illuminate\Contracts\Validation\Validator实现,则需要实现此方法,因为否则您将得到Fatal error,就像在this snippet中看到的那样。该合同的默认实现为Illuminate\Validation\Validator

因为您没有收到致命错误,所以您的问题必须在其他地方。也许您的问题与嵌套验证有关?根据升级指南,已经发生了根本性的变化。还是您有机会也升级了PHP版本?

相关问题