账户中心 退出系统
开发文档 资讯·分享 技术交流 会员登录
phpGrace GSCMS 公众号系统
数据验证类

数据验证

grace\tool\validate 数据验证工具类,可以便捷地完成数据验证工作。

使用步骤

// 1、定义验证规则
$checkRules  = array(
    'name' => array('验证类型', '验证规则匹配的数据', '错误信息'),
    ......
);

// 2、实例化数据验证工具
// 参数:
// 被验证的数据 
// 验证规则 
// 是否自动验证 Token 【可选参数 默认 false】)
$validate = new validate($data, $rule);

//3、获取验证结果
$validateResult = $validate->check();

//4、根据验证结果进行后续的工作
if($validateResult){
    echo 'ok';
}else{
    //获取验证的错误信息 $validate->error
    echo '错误信息 : '. $validate->error;
}


验证规则列表

类型功能规则参数举例
string字符串长度检查如 : 5, 100
contain
必须包含指定的字符串如 : grace
notContain不能包含指定的字符串如 : grace
inArray必须是指定数组的元素如 : ['男','女']
int
整数及长度检查如 : 1, 8
intBetween整数区间检查如:100,999
between数值区间检查 ( 小数或整数 )如:-500, 22
doubleBetween小数区间检查如:1, 88
doubleLength小数及小数位数检查如:2,3
gt大于某个数值如:100
gtAndSame大于等于某个数值如:100
lt
小于某个数值如:100
ltAndSame小于等于某个数值如:100
same
等于某个值如:100 或 grace
notSame不等于某个值如:100
email
邮件地址检查无需参数
phone
手机号码检查无需参数
url
url 地址检查无需参数
zipcode
邮编检查无需参数
idCard身份证检查无需参数
reg
正则表达检查自定义正则表达式,如 ^<h2>.*<\/h2>$/Uis

验证演示

<?php
namespace grace\controller;
use grace\grace;
use grace\tool\validate;

class index extends grace{

    public function index(){
        // 验证规则
        $rule = array(
            'name' => array(
                // 多重验证
                array('string', '2, 10', '姓名应为1-10个字符'),
                array('contain', 'grace', '必须 grace'),
            ),
            'age'  => array('ltSame', '100', '请正确填写年龄'),
            //身份证验证
            'identityCard' => array('idCard','','身份证号码错误'),
            // 正则验证
            'content' => array('reg', '/^<h2>.*<\/h2>$/Uis','内容格式错误'),
        );
        // 被验证的数据
        $data = array(
            'name' => 'grace',
            'age'  => 8,
            'gender' => '男',
            'identityCard' => '610125198906161312',
            'content' => '<h2>hi...</h2>'
        );
        $validate = new validate($data, $rule);
        // 演示添加验证规则
        // 如果上面已经一次性定义好规则,则不需要添加
        $validate->addRule(array('gender' => array('inArray', array('男','女'), '请正确填写性别')));
        // 验证
        $validateResult = $validate->check();
        if(!$validateResult){
            echo '验证失败';
            echo '错误信息 : '. $validate->error;
            // 使用return 终止下面代码继续运行
            return false;
        }
        // 验证超过 继续运行
        echo '验证通过';
    }

}