【发布时间】:2016-03-12 13:38:51
【问题描述】:
有没有一种简单的方法可以将 Laravel 验证消息中的输入名称替换为例如标签?
现在的消息是这样的:
usrRoleId 字段是必需的。
我知道有两种选择:
将输入名称更改为更具可读性。
在验证请求中编写每个消息,如下所示:需要用户角色。
我正在寻找更自动化的东西——比如定义一个字符串并在每次使用此类字段名称时使用它。
【问题讨论】:
标签: php validation laravel
有没有一种简单的方法可以将 Laravel 验证消息中的输入名称替换为例如标签?
现在的消息是这样的:
usrRoleId 字段是必需的。
我知道有两种选择:
将输入名称更改为更具可读性。
在验证请求中编写每个消息,如下所示:需要用户角色。
我正在寻找更自动化的东西——比如定义一个字符串并在每次使用此类字段名称时使用它。
【问题讨论】:
标签: php validation laravel
是的,您可以,而且实际上非常简单。您可以在 resources/lang/en/validation.php 文件中的 attributes 键下为给定属性指定自定义名称:
'attributes' => [
'usrRoleId' => 'User Role'
],
现在任何你在验证器消息中有:attribute 的usrRoleId 都将替换为User Role。所以而不是:
usrRoleId 字段是必需的。
你会得到好的:
用户角色字段是必需的。
如果您希望在需要 usrRoleId 时拥有完整的自定义消息,而不仅仅是自定义属性名称,那么您可以在同一文件中为该用户添加一个条目 custom 键。所以添加这个:
'custom' => [
'usrRoleId' => [
'required' => 'User Role is required',
],
],
将使用该自定义消息,但没有 :attribute 占位符。如果你想使用占位符你可以留下我上面描述的attributes映射:
'custom' => [
'usrRoleId' => [
'required' => ':attribute is required',
],
],
您仍然会收到自定义消息,但带有映射的属性名称:
需要用户角色。
【讨论】: