我想弄清楚如何快速添加Laravel 5中每个字段的错误消息。这是我得到的:
$validator = Validator::make($this->req->all(), [
'email_add' => 'required|email|max:100',
'pass' => 'required|max:20',
]);
那么我如何在这里为上面验证的每个字段直接放置消息呢?比如"你忘了邮箱地址"answers"需要输入密码"?
(如何不写一个火星探测器程序为1个简单的任务。就像工匠通常的5个东西一样,添加2个命名空间,3个中间件,5个类,7个函数,然后最后覆盖错误信息!!)
[编辑]在从下面的答案和其他堆栈的搜索中得到一些帮助后,我找到了确切的方法:
为每个字段的验证
type
添加消息:$validator = Validator::make($this->req->all(), [ 'email_add' => 'required|email|max:100', 'pass' => 'required|max:20', ], [ 'email_add.required' => 'The Email Address is actually required dude!', 'email_add.email' => 'The Email Address is is not a valid Email Address!' ]);
..将
email_add
更改为Email Address
,即Attribute Name
,而不是为每个字段应用的每个验证编写自定义msg:Validator::make(....)->setAttributeNames( [ 'email_add'=>'Email Address', 'pass'=>'Password' ]);
谢谢你的帮助。
试试它的工作
$validator = Validator::make($this->req->all(), [
'email_add' => 'required|email|max:100',
'pass' => 'required|max:20',
]);
$messages = [
'email_add.required' => 'You forgot Email Address',
'pass.required' => 'Password is Required',
];
为此,将您的消息添加到resources/lang/xx/validation.php语言文件中的自定义数组中。
'custom' => [
'email' => [
'required' => 'We need to know your e-mail address!',
],
],
https://laravel.com/docs/5.1/validation custom-error-messages
如果您想更改特定请求的验证消息,您可以将messages方法放在相同的请求文件中,像这样
public function messages() {
'name.required' => 'custom message',
'email.required' => 'custom message for email',
'email.email' => 'custom message form email format'
}
或者如果你想把验证消息放在控制器中,只需传递第三个参数作为消息。