YiicValidator主要用法分析 yiic

yii的rules验证

cValidator主要属性
attributes,builtInValidators,enableClientValidation,message,on,safe,skipOnError
经常用到的属性有 attributes,builtInvalidators,message,on这四个

下面是对应的验证类
required: CRequiredValidator
filter: CFilterValidator
match: CRegularExpressionValidator
email: CEmailValidator
url: CUrlValidator
unique: CUniqueValidator
compare: CCompareValidator
length: CStringValidator
in: CRangeValidator
numerical: CNumberValidator
captcha: CCaptchaValidator
type: CTypeValidator
file: CFileValidator
default: CDefaultValueValidator
exist: CExistValidator
boolean: CBooleanValidator
date: CDateValidator
safe: CSafeValidator
unsafe: CUnsafeValidator

1、CRequiredValidator - 必须值验证
属性 requiredValue-mixed-所需的值 strict-boolean-是否比较严格
实例:
array('username', 'required'),不能为空
array('username', 'required','requiredValue'=>'lh','message'=>'usernmae must be lh'), 这个值必须为lh,如果填其他值还是会验证不过
array('username', 'required', 'requiredValue'=>'lh','strict'=>true), 严格验证
还可以在后面加 'message'=>'','on'=>这些

2、CFilterValidator 过滤验证
属性 filter - 方法名 (调用用户自己定义的函数)
实例:
array('username', 'test')

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

3、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'=>'必须不是字母'),

4、CEmailValidator --邮箱验证
属性:allowEmpty - 是否为空 allowName - 是否允许在电子邮件地址的名称
checkMx - 是否检查电子邮件地址的MX记录 checkPort -是否要检查端口25的电子邮件地址
fullPattern - 正则表达式,用来验证电子邮件地址与名称的一部分
pattern - 正则表达式,用来验证的属性值
实例:
array('username', 'email', 'message'=>'必须为电子邮箱','pattern'=>'/[a-z]/i'),

5、CUrlValidator - url验证
属性:allowEmpty - 是否为空 defaultScheme -默认的URI方案
pattern - 正则表达式 validSchemes -清单应视为有效的URI计划。
实例:
array('username', 'url','message'=>'must url'),
array('username', 'url','defaultScheme'=>'http://www.baidu.com'),

6、CUniqueValidator - 唯一性验证
属性:allowEmpty - 是否为空 attributeName - 属性名称
caseSensitive - 区分大小写 className - 类名
criteria - 额外的查询条件
实例:
array('username', 'unique','message'=>'该记录存在'),
array('username', 'unique', 'caseSensitive'=>false,'message'=>'该记录存在'),

7、CCompareValidator - 比较验证
属性:
allowEmpty - 是否为空 compareAttribute -需要比较的属性
compareValue -比较的值 operator - 比较运算符
strict - 严格验证(值和类型都要相等)
实例:
// 与某个值比较
array('username', 'compare', 'compareValue'=>'10','operator'=>'>','message'=>'必须大于10'),
// 与某个提交的属性比较
array('username', 'compare','compareAttribute'=>'password','operator'=>'>','message'=>'必须大于password'),

8、CStringValidator - 字符串验证
属性:
allowEmpty - 是否为空 encoding -编码
is - 确切的长度 max - 最大长度 min -最小长度
tooLong - 定义值太大的错误 tooShort - 定义最小长度的错误
实例:
array('username', 'length', 'max'=>10,'min'=>5, 'tooLong'=>'太长了','tooShort'=>'太短了'),
array('username', 'length', 'is'=>5,'message'=>'长度必须为5'),

9、CRangeValidator - 在某个范围内
属性:
allowEmpty - 是否为空 not - 是否反转的验证逻辑。
range -array范围strict - 严格验证(类型和值都要一样)
实例:
array('username', 'in', 'range'=>array(1,2,3,4,5),'message'=>'must in 1 2 3 4 5'),
array('username', 'in', 'not'=>true,'range'=>array(1,2,3,4,5),'message'=>'must not in 1 2 3 4 5'),

10、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'),

11、CCaptchaValidator - 验证码验证
属性:
allowEmpty - 是否为空 caseSensitive - 区分大小写

12、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'),

13、CFileValidator - 文件验证
属性:
allowEmpty - 是否为空 maxFiles -最大文件数 maxSize -文件的最大值 minSize - 最小值
tooLarge - 太大时的错误信息 tooMany - 太多时的错误信息 tooSmall - 太小时的错误信息
types - 允许的文件扩展名 wrongType - 扩展名错误时给出的错误信息

14、CDefaultValueValidator - 默认值
属性:
setOnEmpty - 设置为空 value - 默认值
实例:
array('username', 'default', 'setOnEmpty'=>true,'value'=>'lh'),

15、CExistValidator - 是否存在
属性:
allowEmpty = 是否为空 attributeName - 属性名称
className -类名criteria - 标准

16、CBooleanValidator - 布尔类型验证
属性:
allowEmpty - 是否为空 falseValue -错误状态的值
strict -严格验证trueValue - 真实状态的值
实例:
array('username', 'boolean', 'trueValue'=>1,'falseValue'=>-1, 'message'=>'thevalue must be 1 or -1'),

17、CDateValidator - 日期验证
属性:
allowEmpty -是否为空 format - 日期值应遵循的格式模式
timestampAttribute -接收解析结果的属性名称
实例:
array('username', 'date','format'=>'MM-dd-yyyy','message'=>'mustbe MM-dd-yyyy'),
array('username', 'date','format'=>'MM/dd/yyyy','message'=>'mustbe MM/dd/yyyy'),

  

爱华网本文地址 » http://www.aihuau.com/a/25101010/36417.html

更多阅读

有关砭石颜色的几点分析 拔火罐颜色分析图

有关砭石颜色的几点分析——简介近年来,随着消费者对砭石这一事物关注度的提高,许多商家也瞄准了砭石市场,于是各种颜色的砭石产品涌现出来,而越来越多的人对砭石的颜色产生了疑问。有关砭石颜色的几点分析——工具/原料砭石的主要成分

hadbetter,should及oughtto的用法 you had better用法

had better , should 及ought to都是情态助动词,为方便同学们学习使用,现将它们的主要用法归纳如下:一、had better 的用法1.hadbetter是固定词组,意思是“应该;最好”,后接不带to 的不定式,其用法相当于情态动词,动词 had没有人称或数的变

sure与certain的用法区别 certain sure

sure与certain的用法区别一、两者在用法上的相同点两者都可用作表语,表示“一定”或“确信”,有时可互换。互换的场合应注意以下几点用法:1. 表示说话者的态度或看法即表示说话者自己的态度或看法,其意为“一定会”“肯定会”。此时

证券投资分析的主要流派 什么是股价指数

人生态度修正:要谦虚、谨慎。要冷静、客观、平和。要多研究,“没有调查就没有发言权”。特地重新翻阅了证券从业资格考试的参考书《证券投资分析》,里面关于证券投资分析基本流派的部分——四个主要的分析流派第一个,基本分析流派目前

之的用法 以的用法

之 的 用 法一、作助词用。主要用法有四种类型:1、结构助词。相当于现代汉语“的”,放在定语和中心语之间,作定语的标志。其格式为:定语+之+中心语。例如:①故时有物外之趣。(沈复《幼时记趣》)译:物体本身以外的乐趣。②于厅事之东北角。(林

声明:《YiicValidator主要用法分析 yiic》为网友初三党分享!如侵犯到您的合法权益请联系我们删除