#1 jake
数据验证类,提供spModel的继承类验证数据格式的匹配性,能够让开发者自定义验证规则以及返回的提示结果。
private
- $add_rules -- 附加的检验规则函数
- $verifier -- 验证规则
- $messages -- 验证时返回的提示信息
- $checkvalues -- 待验证字段
成员函数
public
- __input -- 函数式使用模型辅助类的输入函数
- addrules -- 加入附加的验证规则
- cn_strlen -- 计算字符串长度,支持包括汉字在内的字符串
private
- checkrules -- 按规则验证数据
- notnull -- 内置验证器,检查字符串非空
- minlength -- 内置验证器,检查字符串是否小于指定长度
- maxlength -- 内置验证器,检查字符串是否大于指定长度
- equalto -- 内置验证器,检查字符串是否等于另一个验证字段的值
- istime -- 内置验证器,检查字符串是否正确的时间格式
- email -- 内置验证器,检查字符串是否正确的电子邮件格式
位置
spVerifier类位于 SP_PATH/Core/spModel.php
详细__input
函数式使用模型辅助类的输入函数。
object __input( & spModel object, array array)
__input() 是spModel的模型辅助类在使用函数式方法时的标准输入接口。
本成员函数将在spModel辅助类以及spController辅助类中是经常使用到的。
addrules加入附加的验证规则
void addrules(string rule_name, mixed checker)
验证规则一般是直接在spModel继承类的成员变量$addrules中设置,使用addrules()可以在程序执行期间动态给数据增加验证规则。
rule_name是验证规则的名称,checker是设置的验证器,和spModel继承类的成员变量$addrules中的设置一样,checker可以是用作验证的函数名称,同时还可以是array('类名', '方法函数名')形式的类方法调用。
例子
// 将一个名为“checkname”的验证规则增加到验证程序中,其验证器是UserDataModel类的theCheckNameFunction成员函数。cn_strlen
spClass("UserDataModel")->spVerifier()->addrules("checkname", array("UserDataModel","theCheckNameFunction"));
计算字符串长度,支持包括汉字在内的字符串
int cn_strlen(string val)
cn_strlen()可以检查包括汉字在内的字符串长度,返回的长度数据中,汉字和英文都同时被计算成相等长度。即一个汉字长度等于一个字母长度。
checkrules按规则验证数据
mixed checkrules(array values)
checkrules()是spVerifier的核心操作函数,将执行对输入数组values的规则验证。
notnull内置验证器,检查字符串非空
bool notnull(string val, mixed right)
minlength内置验证器,检查字符串是否小于指定长度
bool minlength(string val, mixed right)
maxlength内置验证器,检查字符串是否大于指定长度
bool maxlength(string val, mixed right)
equalto内置验证器,检查字符串是否等于另一个验证字段的值
bool equalto(string val, mixed right)
istime内置验证器,检查字符串是否正确的时间格式
bool istime(string val, mixed right)
email内置验证器,检查字符串是否正确的电子邮件格式
bool email(string val, mixed right)
2012-08-06 20:36:23