【问题标题】:laravel 5.1 custom validation message same field namelaravel 5.1 自定义验证消息相同的字段名称
【发布时间】:2015-12-20 18:06:52
【问题描述】:

在我的应用程序字段中,我的模型具有相同的名称。例如,我在用户模型和教师模型中都有一个“名字”字段。我在语言文件中使用验证和指定的自定义验证消息(通过在资源/语言中添加语言文件夹和 validation.php 文件)。有没有办法为相同的字段名称返回不同的消息?例如,我想做如下的事情

'custom' => [ 
                'user.firstname' => [
                       'required' => 'message',            
                 ],
                 'teacher.firstname' => [
                       'required' => 'different message',            
                 ],
            ],

【问题讨论】:

    标签: php validation laravel laravel-5.1


    【解决方案1】:

    您可以将自定义错误消息传递给验证器。 见 (http://laravel.com/docs/5.1/validation)

    $messages = [
        'required' => 'The :attribute field is required.',
    ];
    
    $validator = Validator::make($input, $rules, $messages);
    

    所以你的消息数组看起来像这样:

     $messages = [
         'required' => trans('validation.error1')
     ];
    

    您甚至可以使用此表示法为每个输入指定不同的要求消息:

    'email.required' => 'We need to know your e-mail address!',
    

    【讨论】:

    • 感谢您的回答。我没有在我的控制器中使用 validate 方法,在我的控制器中传输它会非常耗时。我正在使用语言文件,并且正在寻找这种情况下的解决方案(检查在您的链接中指定语言文件中的自定义消息)。对我来说,仅仅更改模型中的字段名称以使其唯一会快得多。
    猜你喜欢
    • 1970-01-01
    • 2015-10-02
    • 2012-04-25
    • 1970-01-01
    • 2015-03-04
    • 2014-05-31
    • 2017-06-28
    • 2017-12-13
    • 2016-09-09
    相关资源
    最近更新 更多