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 '验证通过'; } }