【问题标题】:Laravel - same custom error message for multiple fieldsLaravel - 多个字段的相同自定义错误消息
【发布时间】: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 而不管字段如何?

【问题讨论】:

    标签: php laravel laravel-5.1


    【解决方案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>')!!}
    猜你喜欢
    • 2015-12-20
    • 1970-01-01
    • 2018-03-18
    • 2018-08-12
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 2016-07-04
    相关资源
    最近更新 更多