拉拉维尔 更具可读性的消息


Laravel More readable messages

有没有一种简单的方法可以将 Laravel 验证消息中的输入名称替换为例如标签?

现在的消息是这样的:

usrRoleId 字段是必需的。

我知道有两种选择:

  1. 将输入名称更改为更具可读性。

  2. 将验证请求中的每条消息写入如下所示:需要用户角色。

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

是的,你可以,而且实际上很容易。您可以在resources/lang/en/validation.phpattributes下为中的给定属性指定自定义名称:

'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',
    ],
],

您仍会收到自定义消息,但带有映射的属性名称:

需要用户角色。