yii验证器类

validator(验证器)可以是模型类中的一个方法或一个单独的验证器类。如果定义为模型类中的方法,它的格式必须是如下的形式:

public function ValidatorName($attribute,$params) { ... } 
如果我们使用一个validator(验证器)类,则这个类必须继承CValidator。其实有三种方法可以指定validator(验证器),包括前面提到的一种格式:
1.第一种是在模型类中定义验证方法
2.第二种是指定一个单独的验证器类(这个类继承CValidator)。
3.第三种是你可以使用Yii框架中现有的验证器,指定预定义的验证器别名即可。
Yii为你提供了很多预定义的验证器类,同时也指定了别名,用在定义规则时。Yii1.1版本,预定义的验证器别名的完整列表如下:
* boolean:它是CBooleanValidator类的别名,验证属性的值是布尔值(true或false)。
* captcha:它是CCaptchaValidator类的别名,验证属性的值等于一个显示的CAPTCHA(验证码)的值。
* compare:它是CCompareValidator类的别名,验证属性的值与另一个属性的值相等。
* email:它是CEmailValidator类的别名,验证属性的值为有一个有效的Email地址。
* default:它是CDefaultValidator类的别名,验证属性的值为分配的默认值。
* exist:它是CExistValidator类的别名,验证属性的值在表中的对应列中存在。
* file:它是CFileValidator类的别名,验证属性的值包含上传的文件。
* filter:它是CFilterValidator类的别名,用过滤器转换属性的值。
* in:它是CRangeValidator类的别名,验证属性值在一个预定义列表中。
* length:它是CStringValidator类的别名,验证属性值的长度在一个范围内。
* match:它是CRegularExpressionValidator类的别名,验证属性值匹配一个正则表达式。
* numerical:它是CNumberValidator类的别名,验证属性值是数字。
* required:它是CRequiredValidator类的别名,验证属性值必需有值,不能为空。
* type:它是CTypedValidator类的别名,验证属性值是一个指定的数据类型。
* unique:它是CUniquedValidator类的别名,验证属性值在表中的对应列中是唯一的。
* url:它是CUrlValidator类的别名,验证属性值是一个有效的URL。
提示:如果我们在创建表时,规定name和description列为NOT NULL,则当我们使用Gii代码生成器创建模型类时,这个规则将会帮我们自动生成。它会在表中列的定义的基础上自动添加规则。例如:列包含了NOT NULL约束将会添加required验证器,另外,列有长度限制,比如name列定义为varchar(128),将会自动添加字符限制的规则。我们注 意到,在Project AR类的rules()方法中,Gii自己动创建了一条规则array(‘name’, ‘length’, ‘max’=>128)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值