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

时间:2015-11-17 12:35:14

标签: php laravel laravel-5.1

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

我的实际表单请求如下:

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 个答案:

答案 0 :(得分:3)

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

public function messages()
{
    return [
        'required' => 'The field :attribute is required.',
        'regex'    => 'nope, bad format.'
    ];
}

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