php Laravel 验证自定义消息
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/23117999/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Laravel Validation custom message
提问by user3150060
I am facing a problem with laravel custom validation message, here is what I have:
我面临着 Laravel 自定义验证消息的问题,这是我所拥有的:
$rules = [
'first_name' => 'required|alpha|min:2',
'last_name' => 'required|alpha|min:2',
'email' => 'required|email|unique:users,email,' . Input::get('id') . ',id',
'password' => 'alpha_num|between:6,12|confirmed',
'password_confirmation' => 'alpha_num|between:6,12',
'address' => 'regex:/^[a-z0-9- ]+$/i|min:2',
'city' => 'alpha|min:2',
'state' => 'alpha|min:2|max:2',
'zip' => 'numeric|min:5|max:5',
'phone' => 'regex:/^\d{3}\-\d{3}\-\d{4}$/',
];
$messages = [
'unique' => 'The :attribute already been registered.',
'regex' => 'The :attribute number has to be formated : xxx-xxx-xxxx.',
];
Now if there is a problem with the address or the phone number since both have regex validation rule , the error message will be : The :attribute number has to be formated : xxx-xxx-xxxx, How could I have custom message for each different one ??
现在,如果地址或电话号码有问题,因为两者都有正则表达式验证规则,错误消息将是: :attribute number 必须格式化:xxx-xxx-xxxx,我如何为每个不同的自定义消息一 ??
回答by user3150060
Here is the way to do it , just instead of using 'regex' , use 'phone.regex'
这是执行此操作的方法,而不是使用 'regex' ,而是使用 'phone.regex'
$rules = [
'first_name' => 'required|alpha|min:2',
'last_name' => 'required|alpha|min:2',
'email' => 'required|email|unique:users,email,' . Input::get('id') . ',id',
'password' => 'alpha_num|between:6,12|confirmed',
'password_confirmation' => 'alpha_num|between:6,12',
'address' => 'regex:/^[a-z0-9- ]+$/i|min:2',
'city' => 'alpha|min:2',
'state' => 'alpha|min:2|max:2',
'zip' => 'numeric|min:5|max:5',
'phone' => 'regex:/^\d{3}\-\d{3}\-\d{4}$/',
];
$messages = [
'unique' => 'The :attribute already been registered.',
'phone.regex' => 'The :attribute number is invalid , accepted format: xxx-xxx-xxxx',
'address.regex' => 'The :attribute format is invalid.',
];