博主信息
博文 21
粉丝 2
评论 3
访问量 48722
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
5.25验证器验证数据
李洋
原创
1233人浏览过

1、首先建立一个验证器类,并在验证器类中进行相关设置

实例

<?php
namespace app\index\validate;

use think\Validate;

//此类为验证器类  继承框架的验证类
class Staff extends Validate{
    //定义验证规则
    protected $rule = [
       "name" => "require|length:4,18",
        "age" => "require|between:18,60",
        "sex" => "in:0,1",
        "salary"=>"require|between:5000,8000"
    ];

    //自定义错误信息提示
    protected $message = [
        "name.require" => "名称必须要填写",
        "name.length" => "名称长度必须在4到18位之间",
        "age.require" => "年龄必须填写",
        "age.between" => "年龄必须在18到60之间",
        "sex.in"    => "性别必须是0和1",
        "salary.require" => "工资必须填写",
        "salary.between"  => "工资必须在5000到8000之间",
    ];


}

运行实例 »

点击 "运行实例" 按钮查看在线实例


2、在控制器中进行实例化验证器类

        

实例

<?php
namespace app\index\controller;
use app\index\validate\Staff;
use think\Controller;

class Validate extends Controller
{
    //验证操作
    public function index()
    {
        //1、验证器验证
        //需要验证的数据
        $data = [
            "name" => "liyang",
            "age" => 45,
            "sex" => 0,
            "salary" => 6000
        ];
        $validate = new Staff();  //实例化验证器中的对象(注意)
        if (!$validate -> check($data)){
            dump($validate -> getError());  //如果验证不通过 打印自定义的 错误信息
        }else{
            echo  "验证通过";
        }

        //使用继承的控制器中的验证方法验证
        $data = [
            "name" => "li",
            "age" => 45,
            "sex" => 0,
            "salary" => 6000
        ];
        //验证规则
        $arr = 'app\index\validate\Staff'; //验证规则的类命名空间
        $validate = $this -> validate($data,$arr); //验证通过返回true 验证不通过返回自定义错误信息
        if ($validate !== true){
            dump($validate);
        }else{
            dump("验证通过了");
        }

            //3、独立验证
            
        $data = [
            "name" => "liyang",
            "age" => 45,
            "sex" => 3,
            "salary" => 6000
        ];

        //定义验证规则
        $rule = [
            "name" => "require|length:4,18",
            "age" => "require|between:18,60",
            "sex" => "in:0,1",
            "salary"=>"require|between:5000,8000"
        ];
        //自定义错误信息提示
          $message = [
            "name.require" => "名称必须要填写",
            "name.length" => "名称长度必须在4到18位之间",
            "age.require" => "年龄必须填写",
            "age.between" => "年龄必须在18到60之间",
            "sex.in"    => "性别必须是0和1",
            "salary.require" => "工资必须填写",
            "salary.between"  => "工资必须在5000到8000之间",
         ];

      $validate = \think\Validate::make($rule,$message);
      if (!$validate ->check($data)){
          dump($validate -> getError());
      }else{
          echo "验证通过";
      }
    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例



批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学