搜索
系统检测到您的用户名不符合规范:

VailData数据验证类

浏览:5989 发布日期:2013年05月20日 分类:功能实现 关键字: VailData 数据验证
VailData数据验证类是用于服务器端(PHP)验证传入的数据值的合法性,简单易用
VailData验证类,插件
说明:
VailData验证类,提供内置函数有'a','e','f','s','n','r','q','t','p','u'
a函数:判断是否为空
e函数:验证Email
f函数:判断两值是否相等
r函数:正则表达式验证
q函数:验证qq
t函数:验证手机
p函数:验证电话
u函数:验证url

规则如下:
s函数:
s1-10 表示:必须是字符串类型并且1-10位之间
s1, 表示:必须是字符串类型并且在1位以上
s10 表示:必须是字符串类型并且长度必须等于10位

n函数:
n函数和s函数的使用方法一致,但是区别在于函数是判断是否是数字类型

e函数:
e函数无附加参数类型如:e1-10,e10,e10,都是错误的

f函数:
判断两值是否相等,只能提供表单名或数组的键名如,密码和密码确认判断
表单:password,repeat_password
可以使用f函数password=>array(frepeat_password,'密码和密码确认不一致!!!');r函数:
使用任意正则表达式
如用户名验证必须以字母开头'username'=>array('r/[a-z][\w]/i','用户名格式不正确!!!');q函数,t函数,p函数,u函数:
无特别意义,示例如下:qq=>array('q','QQ号码格式不正确');
tel=>array('t','手机号码格式不正确');
phone=>array('p','电话格式不正确');
url=>array('u','URL格式不正确');
VailData函数可执行简单逻辑判断如:
验证是否是email并且长度在10位以上
那么验证规则则为'email'=>array('e&s10,','Email格式不正确!!!');验证可以是电话号码也可以是手机号码'tel_phone'=>array('t|p')特别验证(可能例子不太洽当)'test'=>array('e&s10,|n10','Test格式不正确');以上示例表明
是Email类型必须是10位以上或者是数字类型并且是10位

除此之外:VailData验证类还可以传入自定义的函数或对像验证这及大的提高的VailData验证类的扩展性如:
但不管是函数还是方法,必须符合以下规范
1,只能返回true或false,也可返回字符串值,但VailData都会以boolean值形式来处理
2,必须绑定一个参数,如
你需要验证这个值是否是和你传入的值相等,你必须要以以下格式function($string,$eqVal) {
return $string == $eqVal;
}
此是$string,值由VailData自动赋值,

参考示例class B{
public function test_eq($string,$eq_val) {
return $string === $eq_val;
}
}
验证规则
require B.class.php;'test'=>array(new B(),'test_eq',参数1,参数2,...,'错误的提示信息');注意,这里传的参数是从$eq_val开始的,$string,由VailData自动传入

普通函数传入示例
functions.phpfunction test($string,$eq_val) {
return $string === $eq_val;
}
'test'=>array('_test',参数1,参数2,...,'错误的提示信息');//外部函数以"_"为标识,
同方法一样这里传的参数是从$eq_val开始的,$string,由VailData自动传入

如果验证出错可使用以下方式来判断if(!$b['vail_status']) parent::error($b['vail_error']);//具体可参考示例
如果成功,它会返回你之前传入的数组

下面是具体示例:if (isset($_POST['send'])) {
$postData = VailData::_vailData()->_check(array(
'username'=>array('s6-10|n6-10|r/^[1]{3}$/|s5,','用户名格式不正确'),
'password'=>array('s10|a','密码格式不正确'),
'repeat_password'=>array('fpassword|n10,','密码确认格式不正确'),
'email'=>array('e&s10,|n10,','Email格式不正确'),
'remark'=>array('n10&s10','备注不能为空'),
'phone'=>array('s10,','电话格式不正确!!!'),
'remark'=>array('_check','8959','备注格式不正逗趣儿 '),//外部函数,函数名前名必须加上_
'remark'=>array(new B(),'test','8959','备注格式不正逗趣儿 '),
), $_POST);
if(!$postData['vail_status']) parent::error($postData['vail_error']);
}
以上就是VailData的使用方法
刚完成不久,可能还有很多需要完善的地方和修补的Bug,希望大家多多提意见,

请注意:之前下载的朋友,请重新下载,文件传错了,不好意思

附件 VailData.zip ( 4.92 KB 下载:312 次 )

评论() 相关
收藏
HelloCR
积分:2648 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /