LARAVEL 5.3 - 忽略验证器自定义消息
LARAVEL 5.3 - Validator custom messages ignored
我登录post方法:
$validator = Validator::make(
$request->all(),
[
'user' => 'required',
'password' => 'required'
],[
'user' => 'Username is required',
'password' => 'Password is required'
]
);
但是除非我将 'password' => 'Password is required'
更改为 'password.required' => 'Password is required'
,否则自定义消息将被忽略并默认发送到视图。
我真的必须在消息中指定规则还是我做错了什么?
Do I really have to specify the rule in the message or am I doing
something wrong?
'required' 规则已有默认消息。你可以简单地离开它。所以这会起作用:
$validator = Validator::make(
$request->all(),
[
'user' => 'required',
'password' => 'required'
]
);
https://laravel.com/docs/5.3/validation#working-with-error-messages
Laravel 首先查看自定义消息,如果找不到,则回退到正常验证消息。
'password' => 'Password is required'
不是您设置的必需验证。所以默认消息正在工作。您必须针对特定错误类型编写自定义消息。
示例:密码是必需的,并且也应该是整数然后
$validator = \Validator::make(
$request->all(),
[
'password' => 'required|integer'
],[
'password.integer' => 'Password needs to be interger',
'password.required' => 'Password is required'
]
);
注意:您还可以在 validation.php 文件中设置自定义消息,并将消息添加到自定义数组中。届时您将能够在全球范围内使用您的自定义消息。
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
]
我的想法是在 lang 文件夹中为特定语言(如 EN、ES)创建新的请求文件,并将其用于为指定表单创建的请求模型。
我登录post方法:
$validator = Validator::make(
$request->all(),
[
'user' => 'required',
'password' => 'required'
],[
'user' => 'Username is required',
'password' => 'Password is required'
]
);
但是除非我将 'password' => 'Password is required'
更改为 'password.required' => 'Password is required'
,否则自定义消息将被忽略并默认发送到视图。
我真的必须在消息中指定规则还是我做错了什么?
Do I really have to specify the rule in the message or am I doing something wrong?
'required' 规则已有默认消息。你可以简单地离开它。所以这会起作用:
$validator = Validator::make(
$request->all(),
[
'user' => 'required',
'password' => 'required'
]
);
https://laravel.com/docs/5.3/validation#working-with-error-messages
Laravel 首先查看自定义消息,如果找不到,则回退到正常验证消息。
'password' => 'Password is required'
不是您设置的必需验证。所以默认消息正在工作。您必须针对特定错误类型编写自定义消息。
示例:密码是必需的,并且也应该是整数然后
$validator = \Validator::make(
$request->all(),
[
'password' => 'required|integer'
],[
'password.integer' => 'Password needs to be interger',
'password.required' => 'Password is required'
]
);
注意:您还可以在 validation.php 文件中设置自定义消息,并将消息添加到自定义数组中。届时您将能够在全球范围内使用您的自定义消息。
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
]
我的想法是在 lang 文件夹中为特定语言(如 EN、ES)创建新的请求文件,并将其用于为指定表单创建的请求模型。