Yii验证规则总结。

一、CRequiredValidator – 必须值验证属性正则表达式

requiredValue-mixed-所需的值
函数

strict-boolean-是否比较严格实例:ui

array(‘username’, ‘required’), 不能为空 this

array(‘username’, ‘required’, ‘requiredValue’=>’lh’,'message’=> ‘usernmaemust be lh’), 这个值必须为lh,若是填其余值仍是会验证不过编码

array(‘username’, ‘required’, ‘requiredValue’=>’lh’, ‘strict’=>true), 严格验证 还能够在后面加 ‘message’=>”,’on’=>这些url

 

 

二、CFilterValidator 过滤验证属性orm

filter– 方法名 (调用用户本身定义的函数) 实例: 字符串

array(‘username’, ‘test’),string

function test() { $username =$this->username; if($username != ‘lh’){$this->addError(‘username’, ‘username must be lh’); } } 使用这个方法若是你还在array里面写message=>”,给出的提示信息仍是你的test里面的。也就是以test里面的错误信息为准it

 

 

三、CRegularExpressionValidator-正则验证属性

allowEmpty –是否为空(默认true)

not-是否反转的验证逻辑(默认false)

pattern –正则表达式匹配实例:

// 匹配a-z      array(‘username’, ‘match’, ‘allowEmpty’=>true, ‘pattern’=>’/[a-z]/i’,'message’=>’必须为字母’),

// 匹配不是a-z  array(‘username’, ‘match’, ‘allowEmpty’=>true, ‘not’=>true, ‘pattern’=>’/[a-z]/i’,'message’=>’必须不是字母’),

 

四、CEmailValidator –邮箱验证属性:

allowEmpty – 是否为空

allowName – 是否容许在电子邮件地址的名称

checkMx – 是否检查电子邮件地址的MX记录

checkPort – 是否要检查端口25的电子邮件地址

fullPattern – 正则表达式,用来验证电子邮件地址与名称的一部分

pattern – 正则表达式,用来验证的属性值实例:

array(‘username’, ‘email’, ‘message’=>’必须为电子邮箱’, ‘pattern’=>’/[a-z]/i’),

 

 

五、CUrlValidator – url验证属性:

allowEmpty – 是否为空

defaultScheme – 默认的URI方案

pattern – 正则表达式

validSchemes – 清单应视为有效的URI计划。

实例:array(‘username’, ‘url’, ‘message’=>’must url’),

array(‘username’, ‘url’,‘defaultScheme’=>’http://www.baidu.com’),

 

 

六、CUniqueValidator – 惟一性验证属性:

allowEmpty – 是否为空

attributeName – 属性名称

caseSensitive – 区分大小写

className – 类名

criteria – 额外的查询条件实例:

array(‘username’, ‘unique’, ‘message’=>’该记录存在’),

array(‘username’, ‘unique’, ‘caseSensitive’=>false, ‘message’=>’该记录存在’),

 

 

七、CCompareValidator – 比较验证属性:

allowEmpty – 是否为空

compareAttribute – 须要比较的属性

compareValue -比较的值

operator – 比较运算符

strict – 严格验证(值和类型都要相等) 实例:

// 与某个值比较 array(‘username’, ‘compare’, ‘compareValue’=>’10′, ‘operator’=>’>’, ‘message’=>’必须大于10′),

// 与某个提交的属性比较 array(‘username’, ‘compare’, ‘compareAttribute’=>’password’, ‘operator’=>’>’, ‘message’=>’必须大于password’),

 

 

八、CStringValidator – 字符串验证属性:

allowEmpty – 是否为空

encoding – 编码

is – 确切的长度

max – 最大长度

min – 最小长度

tooLong – 定义值太大的错误

tooShort – 定义最小长度的错误实例:

array(‘username’, ‘length’, ‘max’=>10, ‘min’=>5, ‘tooLong’=>’太长了’, ‘tooShort’=>’过短了’),

array(‘username’, ‘length’, ‘is’=>5, ‘message’=>’长度必须为5′),

 

 

九、CRangeValidator – 在某个范围内属性:

allowEmpty – 是否为空

not – 是否反转的验证逻辑。

range – array范围

strict – 严格验证(类型和值都要同样) 实例:

array(‘username’, ‘in’, ‘range’=>array(1,2,3,4,5),‘message’=>’must in 1 23 4 5′),

array(‘username’, ‘in’, ‘not’=>true, ‘range’=>array(1,2,3,4,5),‘message’=>’must not in 1 2 3 4 5′),

 

 

十、CNumberValidator – 数字验证属性:

allowEmpty – 是否为空

integerOnly – 整数

integerPattern – 正则表达式匹配整数

max – 最大值 min – 最小值

numberPattern – 匹配号码

tooBig – 值太大时的错误提示

tooSmall – 值过小时的错误提示实例:

array(‘username’, ‘numerical’,‘integerOnly’=>true, ‘message’=>’must be int’),

array(‘username’, ‘numerical’,‘integerOnly’=>true, ‘message’=>’must be int’, ‘max’=>100,‘min’=>10, ‘tooBig’=>’is too big’, ‘tooSmall’=>’is too small’),

 

 

十一、CCaptchaValidator – 验证码验证属性:

allowEmpty – 是否为空

caseSensitive – 区分大小写

 

 

十二、CTypeValidator – 类型验证属性:

allowEmpty – 是否为空

dateFormat – 日期应遵循的格式模式(‘MM/dd/yyyy’)

datetimeFormat – 日期时间应遵循的格式模式(‘MM/dd/yyyyhh:mm’)

timeFormat – 时间应遵循的格式模式(‘hh:mm’) type – 类型 ‘string’, ‘integer’, ‘float’, ‘array’, ‘date’, ‘time’ and ‘datetime’ 实例:

array(‘username’, ‘type’,‘dateFormat’=>’MM/dd/yyyy’, ‘type’=>’date’),

 

 

1三、CFileValidator – 文件验证属性:

allowEmpty – 是否为空

maxFiles – 最大文件数

maxSize – 文件的最大值

minSize – 最小值

tooLarge – 太大时的错误信息

tooMany – 太多时的错误信息

tooSmall – 过小时的错误信息

types – 容许的文件扩展名

wrongType – 扩展名错误时给出的错误信息

 

 

1四、CDefaultValueValidator– 默认值属性:

setOnEmpty – 设置为空

value – 默认值实例: array(‘username’, ‘default’, ‘setOnEmpty’=>true, ‘value’=>’lh’),

 

 

1五、CExistValidator – 是否存在属性:

allowEmpty = 是否为空

attributeName – 属性名称

className – 类名 criteria – 标准

 

 

1六、CBooleanValidator – 布尔类型验证属性:

allowEmpty – 是否为空

falseValue – 错误状态的值

strict – 严格验证

trueValue – 真实状态的值实例:

array(‘username’, ‘boolean’, ‘trueValue’=>1, ‘falseValue’=>-1, ‘message’=>’the valuemust be 1 or -1′),

 

 

1七、CDateValidator – 日期验证属性:

allowEmpty – 是否为空

format – 日期值应遵循的格式模式

timestampAttribute – 接收解析结果的属性名称 实例:

array(‘username’, ‘date’,‘format’=>’MM-dd-yyyy’,'message’=>’must be MM-dd-yyyy’),

array(‘username’, ‘date’,‘format’=>’MM/dd/yyyy’,'message’=>’must be MM/dd/yyyy’),

相关文章
相关标签/搜索