think php 3种验证方式

方式一:独立验证

//        验证1、独立验证
        //验证的规则
        $rule = [
            'name'  => 'require|max:25',
            'username'   => 'require',
            'password' => 'require',
            'email'=>'require'
        ];
//        验证的错误信息
        $msg = [
            'name.require' => '用户名不可以为空',
            'name.max'     => '用户名最多不能超过25个字符',
            'username.require'   => '用户昵称不可以为空',
            'password.require'  => '密码不可以为空',
            'email.require'        => '邮箱不可以为空',
        ];
        $validate = new Validate($rule,$msg);
        $result= $validate->check($data);
        if(!$result){
            $this->error($validate->getError(),'goods/goods/create');
        }

方式二:控制器验证

     //验证的规则
        $rule = [
            'name'  => 'require|max:25',
            'username'   => 'require',
            'password' => 'require',
            'email'=>'require'
        ];
//        验证的错误信息
        $msg = [
            'name.require' => '用户名不可以为空',
            'name.max'     => '用户名最多不能超过25个字符',
            'username.require'   => '用户昵称不可以为空',
            'password.require'  => '密码不可以为空',
            'email.require'        => '邮箱不可以为空',
        ];
//控制器验证
        $result = $this->validate( $data,$rule);

        if(true !== $result){
            // 验证失败 输出错误信息
           $this->error($result,'/goods/goods/create');
        }

方式三:验证器验证

 

 

 

<?php
//  goods 为模块名
namespace app\goods\validate;

use think\Validate;

//Goods 为新创建的(Goods.php)
class Goods extends Validate { protected $rule = [ 'name|姓名' => 'require|max:25', 'username|用户名' => 'require', 'password|密码' => 'require', 'email|邮箱' => 'require', 'img|头像' => 'require', 'age|年纪' => 'require', 'sex|性别' => 'require', 'account|账号' => 'require', 'confirmPasswrd|确认密码' => 'require', 'contrast|人脸对比' => 'require', 'branch|部门' => 'require', ]; protected $msg = [ 'name.require' => '姓名不可以为空', 'name.max' => '用户名最多不能超过25个字符', 'username.require' => '用户昵称不可以为空', 'password.require' => '密码不可以为空', 'email.require' => '邮箱不可以为空', 'img.require' => '用户头像不可以为空', 'age.require' => '年纪不可以为空', 'sex.require' => '性别不可以为空', 'comment.require' => '个人简介不可以为空', 'account.require' => '账号不可以为空', 'confirmPasswrd.require' => '确认密码不可以为空', 'contrast.require' => '人脸对比不可以为空', 'branch.require' => '部门不可以为空', ]; //验证的场景 protected $scene = [ 'user'=>['account','password','confirmPassword','contrast','branch'], 'order' => ['username', 'img','sex','age','comment'], 'administrators'=>['name','username','password','email'] ]; }

控制器书写:

//验证器验证
        $validate = Loader::validate('Goods');
        if(!$validate->scene('administrators')->check($data)){
            $this->error($validate->getError(),'/goods/goods/create');
        }

 

 

 

posted @ 2021-08-18 15:38  王越666  阅读(67)  评论(0编辑  收藏  举报