Blogger Information
Blog 8
fans 0
comment 0
visits 5854
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
编写验证器-2018年5月25日
往昔流逝的博客
Original
660 people have browsed it
  1. 先创建一个验证类:

    <?php
    namespace app\validate;
    use think\Validate;
    class Staff extends Validate
    {
        //创建验证规则
        //以属性的方式进行配置,属性不能更改
        protected $rule = [
            'name'=>
    'require|min:5|max:15',
            'sex' => 'in:0,1',
        ];
        //错误信息可以自定义:
        protected $message = [
            'name.require' => '用户姓名不能为空',
            'name.min' => '姓名不能少于5个字符',
            'name.max' => '姓名不能大于15个字符',
            'sex.in' => '性别只能选择男或女',
        ];
    }

  2. 然后在控制器里调用:

    <?php
    namespace app\index\controller;
    use think\Controller;
    use app\validate\Users; //导入验证器
    use think\Validate;
    class Verify extends Controller
    {
        //验证器: 直接实例化验证器完成验证
        public function demo1()
        {
            //准备要验证的数据
            $data = [
                'name'=>
    'Line',
                'sex' => 3,
            ];
            $validate = new Users();
            if (!$validate->check($data)) {
                dump($validate->getError());
            } else {
                return '验证通过';
            }
        }
        //验证器: 使用控制器内容的验证对象来完成验证: $this->validate($data, $rule)
        public function demo2()
        {
            //准备要验证的数据
            $data = [
                'name'=>'validate',
                'sex' => 0,    
            ];
            $rule = 'app\validate\Users';
            $rule = [
                'age' => 'between:10,50',
            ];
            $message = [
                'age.between' => '年龄必须在10到50之间'
            ];
            $data = ['age'=>8];
            // $res = $this->validate($data,$rule);
            $res = $this->validate($data,$rule,$message);
            if (true !== $res) {      //验证成功返回true,否则返回错误信息    
                return $res;
            }
            return '验证成功';
        }
        //独立验证: 直接实例化think\Validate.php进行验证
        public function demo3()
        {
            //主要是通过Validate::make()和check()进行验证
            //make($rule,$mess):创建验证规则与错误信息
            //check($data)完成数据验证
            //1.创建验证规则
            $rule = [
                'age' => 'require|between:20,60'
            ];
            //2.创建错误信息
            $mess = [
                'age.require' => '年龄必须填写',
                'age.between' => '年龄必须在20到60之间'
            ];
            //3.创建验证数据
            $data = ['age' => 13];
            //初始化验证器类,并返回验证器实例
            $validate = Validate::make($rule, $mess);
            $res = $validate->check($data);
            return $res ? '验证通过' : $validate->getError();
        }
    }

Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!