lzrqyc110 2016-01-15 16:29:14 128228次浏览 24条评论 297 95 2

required : 必须值验证属性

[['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredValidator 的别名, 确保了特性不为空. 

email : 邮箱验证

['email', 'email']; #说明:CEmailValidator的别名,确保了特性的值是一个有效的电邮地址. 

match : 正则验证

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

url : 网址

['website', 'url', 'defaultScheme' => 'http']; #说明:CUrlValidator 的别名, 确保了特性是一个有效的路径. 

captcha : 验证码

['verificationCode', 'captcha']; #说明:CCaptchaValidator 的别名,确保了特性的值等于 CAPTCHA 显示出来的验证码. 

safe : 安全

['description', 'safe'];

compare : 比较

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

default : 默认值

['age', 'default', 'value' => null]; #说明:CDefaultValueValidator 的别名, 为特性指派了一个默认值. 

exist : 存在

['username', 'exist']; #说明:CExistValidator 的别名,确保属性值存在于指定的数据表字段中. 

file : 文件

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

filter : 滤镜

[['username', 'email'], 'filter', 'filter' => 'trim', 'skipOnArray' => true]; #说明:CFilterValidator 的别名, 使用一个filter转换属性. 

in : 范围

['level', 'in', 'range' => [1, 2, 3]]; #说明:CRangeValidator 的别名,确保了特性出现在一个预订的值列表里. 

unique : 唯一性

['username', 'unique'] #说明:CUniqueValidator 的别名,确保了特性在数据表字段中是唯一的. 

integer : 整数

['age', 'integer'];

number : 数字

['salary', 'number'];

double : 双精度浮点型

['salary', 'double'];

date : 日期

[['from', 'to'], 'date'];

string : 字符串

['username', 'string', 'length' => [4, 24]];

boolean : 是否为一个布尔值

['字段名', 'boolean', 'trueValue' => true, 'falseValue' => false, 'strict' => true]; #说明:CBooleanValidator 的别名 

原文链接

觉得很赞
  • 评论于 2017-11-15 10:13 举报

    ['phone', 'number','min'=>11,'max' => 11]; 这样写对不对, 因为手机号只有11位

    2 条回复
    评论于 2017-11-29 18:40 回复

    至于对还是错,写进去走一遍,比别人说更清晰

    评论于 2018-01-15 10:48 回复

    当时是不对的, 但是自己没想明白! 现在明白了. 对于数字, max和min表示的最大值, 并非长度最大值最小值, 而是各个位数相加的值

  • 评论于 2018-05-02 18:00 举报

    还有一个场景验证的规则,要是能补充下就更好了

    // an inline validator defined via the "authenticate()" method in the model class
    ['password', 'authenticate', 'on' => 'login']
    
  • 评论于 2018-07-04 16:41 举报

    这个文章不错,收藏了

  • 评论于 2018-07-28 16:10 举报

    66666了

您需要登录后才可以评论。登录 | 立即注册