Laravel验证 - 更可读的消息

时间:2016-03-12 13:38:51

标签: php validation laravel

是否有一种简单的方法可以用Laravel的验证消息替换输入名称,例如标签?

现在的消息就像:

  

usrRoleId字段是必需的。

我知道有两种选择:

  1. 将输入名称更改为更易读。

  2. 在验证请求中写入EACH消息,如下所示:用户角色是必需的。

  3. 我正在寻找更自动的东西 - 比如定义一次字符串并在每次使用这样的字段名称时使用它。

1 个答案:

答案 0 :(得分:1)

是的,你可以而且它实际上很容易。您可以在resources/lang/en/validation.php密钥下的attributes文件中为指定属性指定自定义名称:

'attributes' => [
    'usrRoleId' => 'User Role'
],

现在验证者邮件中usrRoleId :attribute的任何地方都会被User Role替换。所以而不是:

  

usrRoleId字段是必需的。

你会得到好的:

  

用户角色字段是必需的。

如果您希望整个自定义消息不仅仅是需要usrRoleId的自定义属性名称,那么您可以在同一文件中为该用户添加custom项的条目。所以加上这个:

'custom' => [
    'usrRoleId' => [
        'required' => 'User Role is required',
    ],
],

将使用该自定义消息,但没有:attribute占位符。如果您想使用占位符,可以保留上面描述的attributes映射:

'custom' => [
    'usrRoleId' => [
        'required' => ':attribute is required',
    ],
],

您仍然可以使用映射的属性名称获取自定义消息:

  

需要用户角色。