尝试为unique
属性自定义错误消息。尝试更改我的validation.php
。
'custom' => [
'email' => [
'unique:users' => 'Oops, email is taken. Please try again!'
]
],
并且我在controller
中调用验证:
request()->validate([
'email' => 'unique:users',
'password' => 'required|min:3',
]);
而且我仍然得到这个:
电子邮件已被收取。
您可以创建一个自定义验证器并将您的消息传递到其中
使用自定义验证器
$messages = [
'required' => 'The :attribute field is required.',
];
$validator = Validator::make($input, $rules, $messages);
对您来说,这意味着
$messages = [
'email' => [
'unique' => 'Oops, email is taken. Please try again!'
]
];
$rules = [
'email' => 'unique:users',
'password' => 'required|min:3',
];
$validator = Validator::make(request()->all(), $rules, $messages);
if ($validator->fails()) {
return redirect('route/when/failed')
->withErrors($validator)
->withInput();
}
使用语言文件
在resources/lang/{{language}}/validation.php
中可以添加
'custom' => [
'email' => [
'unique' => 'Oops, email is taken. Please try again!',
],
]