走过平凡人生、留下平凡足迹 注册 | 登陆

FLEA_Helper_Verifier类使用指南

介绍

FLEA_Helper_Verifier 对象根据一系列验证规则对指定的数据进行验证。

验证规则由多个规则组成,每个规则用于验证一个字段。
每个规则可以包含下列基本属性:
name: 字段名
type: 字段类型
simpleType: 简单字段类型
maxLength: 最大长度
notNull: 是否不允许保存 NULL 值
binary: 是否是二进制数据
unsigned: 是否是无符号数值
hasDefault: 是否有默认值
defaultValue: 默认值
如果 notNull 为 true,而 hasDefault 为 false,则表示该字段必须有内容。

simpleType 属性可以有下列值:
C - 长度小于等于 250 的字符串
X - 长度大于 250 的字符串
B - 二进制数据
N - 数值或者浮点数
D - 日期
T - TimeStamp
L - 逻辑布尔值
I - 整数
R - 自动增量或计数器

基本属性和利用 SDBO::metaColumns() 方法取得的字段信息完全一致。 因此可以直接将 metaColumns() 的返回结果作为验证规则。

为了获得更强的验证能力,还可以使用下列扩展属性:

complexType: 复杂字段类型
min: 最小值(仅用于数值型字段)
max: 最大值(仅用于数值型字段)
minLength: 最小长度(仅用于字符型和文本型字段)
maxLength: 最大长度(仅用于字符行和文本型字段)

对于 complexType 属性,可以有下列值:
NUMBER - 数值(整数、浮点数)
INT - 整数
ASCII - ASCII 字符串(所有编码小于等于 127 的字符)
EMAIL - Email 地址
DATE - 日期(所有 GNU Date Input Formats,例如 yyyy/mm/dd、yyyy-mm-dd)
TIME - 时间(所有 GNU Date Input Formats,例如 hh:mm:ss)
IPv4 - IPv4 地址(格式为 a.b.c.h)
OCTAL - 八进制数值
BINARY - 二进制数值
HEX - 十六进制数值
domAIN - Internet 域名
ANY - 任意类型
STRING - 字符串(等同于任意类型)
ALPHANUM - 文字和数字(26个字母和0-9)
ALPHA - 文字(26个字母)
ALPHANUMX - 26个字母、10个数字以及 _ 符号

在客户端可以通过 verifier.js 提供的验证服务对数据进行验证, 但客户端验证仅提供有限的验证能力。包括:
notNull, hasDefault, min, max, minLength, maxLength

===================================================================
基本属性:

===================================================================
基本方法:
check()
函数原型:
mixed check($value, & $rule)

用指定规则验证值,验证通过返回 ture,否则返回没有通过的验证规则名

参数说明:

mixed $value:需要验证的变量
array $rule:指定的验证规则
返回值:验证通过返回 ture,否则返回没有通过的验证规则名

checkAll()
函数原型:
array checkAll( &$data, &$rules, [boolean $skipEmpty = false])

检查所有字段,返回验证结果

参数说明:
array $data:  需要验证的变量
array $rules: 指定的验证规则
boolean $skipEmpty: 指定该参数为true时,略过空规则

其他方法:
检查输入值是否是
void isALPHA($value)  文字(26个字母)
void isALPHANUM($value)  文字和数字(26个字母和0-9)
void isALPHANUMX[/url] ($value)  26个字母及10个数字
void isANY($value) 任意类型
void isASCII ($value) ASCII 字符串(所有编码小于等于 127 的字符)
void isBINARY($value) 二进制数值
void isDATE ($value) 日期(所有 GNU Date Input Formats,例如 yyyy/mm/dd、yyyy-mm-dd)
void isDOMAIN ($value) Internet 域名
void isEMAIL ($value) Email 地址
void isHEX ($value) 十六进制数值
void isINT ($value) 整数
void isIPv4 ($value) IPv4 地址(格式为 a.b.c.h)
void isNUMBER ($value) 数字
void isOCTAL ($value) 八进制数值
void isSTRING ($value) 字符串(等同于任意类型)
void isTIME ($value) 时间(所有 GNU Date Input Formats,例如 hh:mm:ss)
=====================================================================

应用示例:
下面是一个综合使用FLEA_Helper_Verifier的例子,摘自我利用php">fleaphp框架开发的一个小说书库程序:
这是部分数据库表:



我希望在提交评论保存到数据库之前,验证用户所写的数据,所以验证规则如下:



利用1.0.70新版本的FLEA_Db_TableDataGateway在数据提交数据库前进行数据验证:



获得的结果如下:

Tags: fleaphp, php, mysql, 框架, ajax

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5

发表评论

评论内容 (必填):