博主信息
博文 8
粉丝 0
评论 0
访问量 7272
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
编写验证器-2018年5月25日
往昔流逝的博客
原创
838人浏览过
  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();
        }
    }

批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学