Laravel - 多个字段的相同自定义错误消息

Posted

技术标签:

【中文标题】Laravel - 多个字段的相同自定义错误消息【英文标题】:Laravel - same custom error message for multiple fields 【发布时间】:2016-02-18 19:59:57 【问题描述】:

我正在使用表单请求进行验证,并希望自定义我的错误。因为我有很多字段要验证,所以我想知道是否可以对具有相同验证规则的多个字段使用相同的错误消息。

我的实际表单请求如下所示:

class CreateServerRequest extends Request

     public function authorize()

    return true;

public function rules()

    return [
        'srv_prefix' => 'required|regex:/^[A-Z][-_A-Z0-9]*$/',
        //20 more to go...

    ];


public function messages()

    return [
        'srv_prefix.required' => 'required.',
        'srv_prefix.regex' => 'nope, bad format.'
    ];


我不喜欢添加与字段一样多的错误行的想法(某些字段可能有 2 个验证规则..)有没有办法告诉 laravel if validation rule = required then show this type of error 而不管字段如何?

【问题讨论】:

【参考方案1】:

如果您希望该特定验证的所有消息都相同,则可以只使用验证名称作为消息数组的键:

public function messages()

    return [
        'required' => 'The field :attribute is required.',
        'regex'    => 'nope, bad format.'
    ];

如果您需要将其作为错误消息的一部分,您可以使用:attribute 作为将替换为字段名称的占位符。这方面的文档在 Validation Custom Error Messages 部分中,而不是在 Form Request Validation 部分中。

【讨论】:

感谢您的帮助。一个不应该忘记的小细节:每个字段都应该有一个持有者来显示其中的错误:!! $errors->first('srv_preifx','<span class="help-block">:message</span>')!!

以上是关于Laravel - 多个字段的相同自定义错误消息的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.6.7 和 Vue.js 中的自定义错误消息,尤其是组件

php [Laravel - 自定义错误消息] Laravel 5.4其他登录条件 - 添加自定义错误消息。 #All #Script #Laravel #Php

具有多个参数的 Laravel 自定义验证规则 [重复]

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

如何自定义 laravel 数组验证错误键和消息

Laravel 5.5 FormRequest 自定义错误消息