验证用户所传入的数据的有效性。
验证有两种,独立验证与使用验证器,区别在于后者把一部分代码放到了一个类里
1、独立验证
利用think\Validate的rule()方法,完成对rule属性的初始化,用check()方法完成校验
案例:
$rule=[
'name|栏目名称'=>'require|length:3,20|chsAlphaNum|unique:article_category',
Validate::rule($rule);
2、验证器。
验证器是个自定义类,基础于think\Validate,自定义其rule属性
以下使用验证器:
案例;
1)使用的是Validate类中的rule属性
在application目录下创建validate目录,在创建自定义类User,并继承自think\Validate
protected $rule=[
'name|栏目名称'=>'require|length:3,20|chsAlphaNum|unique:article_category',
正常情况下通过依赖注入来获取用户数据:\think\Request $request
//要验证的数据
$data=[
'name' => 'cde'
];
$validate= new \app\validate\User;
;
if(!$validate->check($data)){
return $validate->getError();
}
return '验证通过';
2)在Controller类中有个validate方法,用于验证数据,也要调用用户自定义验证类
this->validate($data,$validate):换回验证结果
其中$validate是验证规则,例如:$validate='app\validate\User'; |