简体   繁体   English

Laravel中的自定义验证错误

[英]Custom validation errors in laravel

In updating profile i use a validator class method: 在更新配置文件时,我使用验证器类方法:

class UpdateRequest extends Request {
    public function authorize() { return true; }
    public function rules() {
        return [
            'name' => 'required',
            'email' => 'required|email',
        ];
    }
}

How to add an additional validation error like: 如何添加其他验证错误,例如:

public function postUpdate(UpdateRequest $request)
    if($user->email == $request->get('email')) {
        $request->addEerror("The email has already been taken."); //shows an fatal error        
    }
}

?

Thank you 谢谢

You have not mentioned which Laravel version you are using, assuming 5.1 您没有提到您正在使用哪个Laravel版本,假设是5.1

You can create a message array for different validation type, like the example below: 您可以为不同的验证类型创建一个消息数组,如下例所示:

$rules = [
     'first_name' => 'required',
     'last_name' => 'required',
     'email' => 'required|email|unique:users,email,'.$user->id
];

In your resources/lang/en/validation.php file 在您的resources / lang / zh-CN / validation.php文件中

$custom_messages = [
     'required' => 'The :attribute field is required.',
     'email' => [
         'required' => 'The email id field is required.',
         'email' => 'Please enter a valid email format.',
         'unique' => 'The email id has already been taken.',
     ]
];

This should do the trick. 这应该可以解决问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM