我正在使用此代码验证字段。
$this->validate($request, [
'recovery_code' => 'required|exists:users,email_recovery_code',
'new_password'=>'required',
'confirm_password'=>'required|same:new_password',
]);
当我输入错误的恢复代码时,我得到回复
"The selected recovery code is invalid"
但取而代之的是我想要我的自定义消息。有谁知道怎么做?
答案 0 :(得分:3)
简单,就像这样:
$messages = [
'exists' => 'Your custom message',
];
$this->validate($request, [
'recovery_code' => 'required|exists:users,email_recovery_code',
'new_password'=>'required',
'confirm_password'=>'required|same:new_password',
],$messages);
您可以在laravel中的同一字段上设置多个检查。只需将它们传递给具有不同键的数组即可。例如:存在,必需等等。
希望它对你有所帮助。
干杯:)
答案 1 :(得分:2)
来自the docs:
如果需要,您可以使用自定义错误消息进行验证,而不是默认值。有几种方法可以指定自定义消息。首先,您可以将自定义消息作为第三个参数传递给
Validator::make
方法:
$messages = [
'recovery_code' => 'Your custom error message',
];
$validator = Validator::make($input, $rules, $messages);
有时您可能希望仅为特定字段指定自定义错误消息。您可以使用“点”表示法执行此操作。首先指定属性的名称,然后是规则:
$messages = [
'recovery_code. required' => 'Your custom error message',
];
答案 2 :(得分:2)
定义$ messages数组并将其传递给validate()
方法
$messages = [
'recovery_code.exists' => 'custom error message',
];
$this->validate($request, $rules,$messages);
答案 3 :(得分:0)
我认为有两种方法可以更改默认消息。
1。。更改默认值(全局)-您一次更改并适用于所有
\resources\lang\en\validation.php
2。。自定义自己的首选消息(本地)-您在验证的每个实例中都进行更改。下面的示例:
$this->validate($request, [
'id' => 'required',
'name' => 'required'
],[
'required' => 'Please fill empty field(s).',
'name.required' => 'Please enter your name.'
]);