7_2:Validate 独立验证 + token验证
一 独立验证
主要用在控制器中独立验证一些少的数据 不用引入类
public function abc(){ //1 定义验证规则 $validate = Validate::rule([ 'name' => 'require|max:10', 'email' => 'require|email' ]); //var_dump($validate);//$validate是个完整的对象 //2 需要验证的数据 $data = ['name' => 'fdf', 'email' => 'ff']; //3 自定义错误信息 $validate->message([ 'name.require' => ['code'=>1001,'msg'=>'姓名不能为空'], 'name.max' => ['code'=>1002,'msg'=>'姓名10个字符以内'], 'email.require' => ['code'=>1003,'msg'=>'邮箱不能为空'], 'email' => ['code'=>1004,'msg'=>'邮箱格式不正确'], ]); //3 执行验证操作 $result = $validate->batch(true)->check($data);//返回的是布尔值 if (!$result) { dump($validate->getError()); } }
对象化语义语法
use think\facade\Validate; use think\validate\ValidateRule; public function abc(){
//定义验证规则 $validate = Validate::rule([ 'name' => ValidateRule::isRequire()->max(1), 'email' => ValidateRule::isRequire()->email('','email格式错误')//第二个参数是 错误提示 ]);
//需要验证的数据 $data = ['name' => 'fdf', 'email' => 'ff']; if (!$validate->batch(true)->check($data)) { dump($validate->getError()); } }
二 单个值验证 [ 在6.0手册中已经不出现了 后期是否会废弃 ]
1)知识梳理
1、返回布尔值 方便判断
2、不支持错误信息
3、支持对象化规则定义
4、使用门面模式调用 非常适合验证单条数据
2)使用范例
<?php namespace app\admin\controller; use think\facade\Validate; use think\validate\ValidateRule; class Demo { public function hello(){ Validate::isEmail('105425@qq.com');//单规则验证 Validate::checkRule(10,'number|require');//多规则验证 Validate::checkRule('10',ValidateRule::isNumber()->isRequire());//支持对象化规则定义 } }
三 token验证