如何在 laravel 表单验证错误消息中提供自定义字段名称

2022-08-30 17:19:12

我正在尝试在laravel中验证表单。我的表单中有一个名为“类别”的输入文本字段,并且我被授予字段名称为“cat”作为短。

我定义了这样的验证规则。

public static $rules=array(
         "name"=>"required|min:3",
          "cat"=>"required"
           );

当验证失败时,我收到这样的错误消息

The name field is required.
The cat field is required.

但我想将其显示为“类别字段是必需的”而不是“猫”。
如何在错误消息中将“猫”更改为“类别” ?


答案 1

您可以为字段指定自定义错误消息,如下所示。

$messages = array(
    'cat.required' => 'The category field is required.',
);

$validator = Validator::make($input, $rules, $messages);

有关详细信息,请参阅 laravel 文档中的自定义错误消息部分

或者,您可以保留字段名称的映射,如下所示。你可以把它们设置到你的验证器中。因此,您可以看到描述性名称而不是真实字段名称。

$attributeNames = array(
   'name' => 'Name',
   'cat' => 'Category',     
);

$validator = Validator::make ( Input::all (), $rules );
$validator->setAttributeNames($attributeNames);

答案 2

您可以自定义每条消息,还可以在验证中更改属性字段名称.php(resources/lang/en/)。用于在验证中设置属性.php

'attributes' => [
   'name' => 'Name',
   'cat' => 'Category',
   'field_name'=>'your attribute'
],

推荐