我需要添加自定义验证失败,我可以添加一条消息
$validator->errors()->add('my_number', 'validation.not_in');
我收到的错误消息是validation.not_in
我需要的是一条类似这样的错误消息-The selected My Favourite Number is invalid.
我已将我的\resources\lang\en\validation.php
配置为将正确的消息和attributes
放入其中。基本上是这样的:
return [
...
'not_in' => 'The selected :attribute is invalid.',
....
'attributes' => [
'my_number' => 'My Favourite Number'
],
];
失败的解决方案
我能想到的一个解决方案是转到Laravel源代码,找到一个文件vendor\laravel\framework\src\Illuminate\Validation\Validator.php
,找到一个函数addFailure
并使其成为public
而不是protected
那我就可以做
$validator->addFailure('my_number', 'not_in', []);
当我这样做时,我得到的消息The selected My Favourite Number is invalid.
符合预期!
但是我不能更改Laravel的源代码
请给我另一个选择。