thinkphp6.0之验证器定义

一、验证器定义

1、验证器的使用,必须先定义它,系统提供了一条命令直接生成想要的类

php think make:validate 表名

2、这条命令会自动再应用目录下生产一个validate文件夹,并生成Students类

class Students extends Validate

3、自动生成了两个属性: r u l e 表 示 定 义 规 则 , rule表示定义规则, rulemessage表示错误提示信息

4、如果不设置了$message定义的话,将提示默认的错误信息

5、验证器定义好了之后,我们需要进行调用测试,创建一个Verify.php控制器

try {
      
validate(User::class)->check([
 'name' => '蜡笔小新', 'price' => 90,
  'email' => '[email protected]'
   ]); 
   } 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',

你可能感兴趣的:(thinkphp6.0之验证器定义)