Laravel Validator 使用笔记
扩展
// 扩展验证方法
Validator::extend('valid_code',function ($attribute, $value, $parameters, $validator){
return strlen($value) == 5;
},'编号不符合 :valid_year 年的要求');
// extendImplicit与extend的区别: 即使该字段规则中没有required也执行该验证
Validator::extendImplicit('valid_code',function ($attribute, $value, $parameters, $validator){
return strlen($value) == 5;
},'编号不符合 :valid_year 年的要求');
// 替换该验证规则中的占位符
Validator::replacer('valid_code', function($message, $attribute, $rule, $parameters) {
return str_replace(':valid_year','2017',$message);
});
$validator = Validator::make($input,[
'code'=>'required|valid_code',
]);
// code.valid_code 若错误返回信息"编号不符合 2017 年的要求"
定义验证详解
$validatorStatus = $validator->passes(); //(bool)执行验证并返回是否验证成功
$validatorErrors = $validator->errors()->all();//(array)返回获得的错误信息数组
if(!$validatorStatus){
return redirect('login')
->withErrors($validatorErrors)
->withInput();
}
验证与获取结果
$validator = Validator::make($input,[
'code'=>'required|captcha',
],[
'code.captcha'=>'The :attribute is invalid .'
],[
'code'=>'code of captcha'
]);
// The code of captcha is invalid .
Validator::make($rules,$messages,$customAttributes)
- rules: 定义验证规则
- messages: 定义错误信息
- customAttributes: 定义字段别名用于替换错误信息中的
:attribute
.
若验证失败返回错误信息为The code of captcha is invalid .
不定义customAttributes错误信息为The code is invalid .
个人博客 http://blog.xcxxkj.com
代码仓库 https://github.com/sleep-cat
本作品采用《CC 协议》,转载必须注明作者和本文链接