Laravel 5.4中的字段验证默认消息更改

时间:2018-01-12 12:49:52

标签: laravel validation laravel-5

我正在使用此代码验证字段。

$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"        

但取而代之的是我想要我的自定义消息。有谁知道怎么做?

4 个答案:

答案 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。。更改默认值(全局)-您一次更改并适用于所有

  1. 转到该文件\resources\lang\en\validation.php
  2. 然后更改默认消息

2。。自定义自己的首选消息(本地)-您在验证的每个实例中都进行更改。下面的示例:

$this->validate($request, [  
     'id' => 'required',
     'name' => 'required'
],[
    'required' => 'Please fill empty field(s).',
    'name.required' => 'Please enter your name.'
]);