Laravel 扩展规则消息

Posted

技术标签:

【中文标题】Laravel 扩展规则消息【英文标题】:Laravel Extend Rule Message 【发布时间】:2017-07-08 06:29:43 【问题描述】:

我在 Laravel 中使用“唯一”验证规则,该规则目前在 FormRequest 中。我正在尝试自定义从此规则返回的消息,但在 Laravel 生成此消息的文档中看不到。

我意识到完全扩展验证器并创建我自己的自定义验证器是可能的,但我需要做的就是自定义“唯一”规则消息。文档中的类是here:

https://github.com/laravel/framework/blob/5.3/src/Illuminate/Validation/Rules/Unique.php

关于在内部生成此消息的位置的任何指针?作为参考,这是当前的输出:


  "message": "422 Unprocessable Entity",
  "errors": 
    "user_id": [
      "The user id has already been taken."
    ]
  ,
  "status_code": 422

【问题讨论】:

【参考方案1】:

在你的 Request 类中写下这个:

public function rules()

    return [ 
        'name' => 'unique'
    ]


public function messages()
 
     return[
         'name.unique' => 'Write your own message ... '
     ]


【讨论】:

【参考方案2】:

。使用 messages() 函数覆盖它们

请求文件中的函数消息

    'email.required' => 'Er, you forgot your email address!',
    'email.unique' => 'Email already taken m8',

【讨论】:

以上是关于Laravel 扩展规则消息的主要内容,如果未能解决你的问题,请参考以下文章

proengsoft/laravel-jsvalidation 如何使用自定义规则消息?

Laravel 中正则表达式规则的自定义验证消息?

Laravel 5.4 - 如何为同一个自定义验证规则使用多个错误消息

Laravel 验证规则的自定义错误消息:维度

如何在 laravel 8 中为 API 返回验证规则和消息作为 JSON

在 Laravel 中验证数组时,如何使用数组项规则添加验证自定义消息?