一、验证器定义
1、验证器的使用,必须先定义它,系统提供了一条命令直接生成想要的类
php think make:validate 表名
2、这条命令会自动再应用目录下生产一个validate文件夹,并生成Students类
class Students extends Validate
3、自动生成了两个属性: r u l e 表 示 定 义 规 则 , rule表示定义规则, rule表示定义规则,message表示错误提示信息
4、如果不设置了$message定义的话,将提示默认的错误信息
5、验证器定义好了之后,我们需要进行调用测试,创建一个Verify.php控制器
try {
validate(User::class)->check([
'name' => '蜡笔小新', 'price' => 90,
'email' => 'xiaoxin@163.com'
]);
} catch (ValidateException $e) {
dump($e->getError());
}
6、默认情况下,出现一个错误就会停止后面字段的验证,我们也可以设置批量验证
validate('Students::class')->batch(true)..
7、系统提供了常用的规则让开发者直接使用,也可以自行定义独有的特殊规则
protected $rule=[
'name' =>'checkName:name',
]
//控制器端
protected function checkName($value, $rule) {
return $rule != $value ? true : '名称存在非法称谓';
}
8、自定义规则中,一共有五个参数
protected function checkName($value,$rule,$data,$field,$title){
dump($data);//所有数据信息
dump($field); //当前字段名
dump($title); //字段描述,没有就是字段名
}
9、设置字段描述,只要再字段名后用|后设置即可
'name|用户名' =>'require|max:20|checkName:name',