有没有一种简单的方法可以将 Laravel 验证消息中的输入名称替换为例如标签?
现在的消息是这样的:
usrRoleId 字段是必需的。
我知道有两种选择:
-
将输入名称更改为更具可读性。
-
将验证请求中的每条消息写入如下所示:需要用户角色。
我正在寻找更自动的东西 - 比如定义一次字符串并在每次使用此类字段名称时使用它。
是的,你可以,而且实际上很容易。您可以在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',
],
],
您仍会收到自定义消息,但带有映射的属性名称:
需要用户角色。