yii2框架-yii2的核心验证器(八)

时间:2022-10-04 21:03:35
上一节通过一个例子说明了rules的用法,下面在、是整理一下整个rules的规则

可以参考http://www.yiichina.com/doc/guide/2.0/tutorial-core-validators

(1)required : 必须值验证属性
[['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #确保了特性不为空.

(2)email : 邮箱验证
['email', 'email'];
#确保了特性的值是一个有效的电邮地址. 

(3)match : 正则验证
[['字段名'],match,'pattern'=>'正则表达式','message'=>'提示信息'];      

[['字段名'],match,'not'=>ture,'pattern'=>'正则表达式','message'=>'提示信息']; /*正则取反*/ #确保了特性匹配一个正则表达式. 

(4)url : 网址
['website', 'url', 'defaultScheme' => 'http']; 
#确保了特性是一个有效的路径. 

(5)captcha : 验证码
['verificationCode', 'captcha',actionCaptcha=>'XXX/captcha']; 
#显示出来的验证码,其中XXX代表控制器名,默认是site. 

(6)safe : 安全
['description', 'safe'];

(7)compare : 比较
['age', 'compare', 'compareValue' => 30, 'operator' => '>='];
 #说明:compareValue(比较常量值) - operator(比较操作符)确保了特性的值等于另一个特性或常量.

(8)default : 默认值
['age', 'default', 'value' => null];
 #为特性指派了一个默认值.

(9)exist : 存在
['username', 'exist'];
#确保属性值存在于指定的数据表字段中. 

(10)file : 文件
['primaryImage', 'file', 'extensions' => ['png', 'jpg', 'gif'], 'maxSize' => 1024*1024*1024]; 
#确保了特性包含了一个上传文件的名称. 

(11)filter : 滤镜
[['username', 'email'], 'filter', 'filter' => 'trim', 'skipOnArray' => true]; #使用一个filter转换属性.


(12)in : 范围
['level', 'in', 'range' => [1, 2, 3]]; 
#确保了特性出现在一个预订的值列表里.

(13)unique : 唯一性
['username', 'unique'] 
#确保了特性在数据表字段中是唯一的. 

(14)integer : 整数
['age', 'integer'];


(15)number : 数字
['salary', 'number'];

(16)double : 双精度浮点型
['salary', 'double'];

(17)date : 日期
[['from', 'to'], 'date'];

(18)string : 字符串
['username', 'string', 'length' => [4, 24]];

(19)boolean : 是否为一个布尔值
['字段名', 'boolean', 'trueValue' => true, 'falseValue' => false, 'strict' => true];