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验证


 

posted @ 2021-01-09 19:41  棉花糖88  阅读(354)  评论(0)    收藏  举报