【问题标题】:Fields validation default message change in Laravel 5.4Laravel 5.4 中的字段验证默认消息更改
【发布时间】:2018-06-21 22:31:32
【问题描述】:

我正在使用此代码来验证字段。

$this->validate($request, [
    'recovery_code' => 'required|exists:users,email_recovery_code',
    'new_password'=>'required',
    'confirm_password'=>'required|same:new_password',
    ]);

当我输入错误的恢复代码时,我得到响应

"The selected recovery code is invalid"        

但我想要我的自定义消息来代替它。有人知道怎么做吗?

【问题讨论】:

    标签: laravel validation laravel-5


    【解决方案1】:

    很简单,就是这样:

    $messages = [
            'exists' => 'Your custom message',
        ];
        $this->validate($request, [
        'recovery_code' => 'required|exists:users,email_recovery_code',
        'new_password'=>'required',
        'confirm_password'=>'required|same:new_password',
        ],$messages);
    

    您可以在 laravel 中对同一字段设置多个检查。只需将它们传递到具有不同键的数组中即可。例如:存在、需要等。

    希望对你有帮助。

    干杯:)

    【讨论】:

      【解决方案2】:

      来自the docs

      如果需要,您可以使用自定义错误消息而不是默认值进行验证。有几种方法可以指定自定义消息。首先,您可以将自定义消息作为第三个参数传递给Validator::make 方法:

      $messages = [
          'recovery_code' => 'Your custom error message',
      ];
      
      $validator = Validator::make($input, $rules, $messages);
      

      有时您可能希望仅为特定字段指定自定义错误消息。您可以使用“点”表示法这样做。首先指定属性的名称,然后是规则:

      $messages = [
          'recovery_code. required' => 'Your custom error message',
      ];
      

      【讨论】:

        【解决方案3】:

        定义一个 $messages 数组并将其传递给validate() 方法

        $messages = [
        'recovery_code.exists' => 'custom error message',
        

        ];

        $this->validate($request, $rules,$messages);
        

        【讨论】:

          【解决方案4】:

          我认为更改默认消息的两种方法。

          1. 更改默认值(全局) - 更改一次并适用于所有

          1. 转到此文件\resources\lang\en\validation.php
          2. 然后更改默认消息

          2. 自定义您自己的首选消息(本地) - 您在验证的每个实例中都会更改每个消息。示例如下:

          $this->validate($request, [  
               'id' => 'required',
               'name' => 'required'
          ],[
              'required' => 'Please fill empty field(s).',
              'name.required' => 'Please enter your name.'
          ]); 
          

          【讨论】:

            猜你喜欢
            • 2020-08-15
            • 2021-12-02
            • 1970-01-01
            • 2021-12-30
            • 2022-01-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多