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

4

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

$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个回答

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中对同一字段设置多个验证规则。只需将它们作为数组传递,并使用不同的键名区分。例如:exists,required等。
希望这能帮到你。
祝好: )

2

来自文档:

如果需要,您可以使用自定义错误消息进行验证,而不是使用默认的错误消息。有几种方法可以指定自定义消息。首先,您可以将自定义消息作为第三个参数传递给Validator::make方法:

$messages = [
    'recovery_code' => 'Your custom error message',
];

$validator = Validator::make($input, $rules, $messages);

有时您可能希望仅为特定字段指定自定义错误消息。您可以使用“点”符号来实现。首先指定属性名称,然后是规则:
$messages = [
    'recovery_code. required' => 'Your custom error message',
];

2

定义一个 $messages 数组并将其传递给 validate() 方法

$messages = [
'recovery_code.exists' => 'custom error message',

];

$this->validate($request, $rules,$messages);

1

我认为有两种方法可以更改默认消息。

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.'
]); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接