牛骨文教育服务平台(让学习变的简单)
博文笔记

yii验证规则,model中的rules验证的汇总

创建时间:2016-04-08 投稿人: 浏览次数:4467
本文采用Yii文档,经过自己的修改,让读者更容易理解 预定义完整列表: 
  • boolean : CBooleanValidator 的别名, 确保属性的值是CBooleanValidator::trueValue 或CBooleanValidator::falseValue .
  • captcha : CCaptchaValidator 的别名,确保了特性的值等于 CAPTCHA 显示出来的验证码.
  • compare : CCompareValidator 的别名, 确保了特性的值等于另一个特性或常量.
  • email : CEmailValidator 的别名,确保了特性的值是一个有效的电邮地址.
  • default : CDefaultValueValidator 的别名, 为特性指派了一个默认值.
  • exist : CExistValidator 的别名, 确保属性值存在于指定的数据表字段中.
  • file : CFileValidator 的别名, 确保了特性包含了一个上传文件的名称.
  • filter : CFilterValidator 的别名, 使用一个filter转换属性.
  • in : CRangeValidator 的别名, 确保了特性出现在一个预订的值列表里.
  • length : CStringValidator 的别名, 确保了特性的长度在指定的范围内.
  • match : CRegularExpressionValidator 的别名, 确保了特性匹配一个正则表达式.
  • numerical : CNumberValidator 的别名, 确保了特性是一个有效的数字.
  • required : CRequiredValidator 的别名, 确保了特性不为空.
  • type : CTypeValidator 的别名, 确保了特性为指定的数据类型.
  • unique : CUniqueValidator 的别名, 确保了特性在数据表字段中是唯一的.
  • url : CUrlValidator 的别名, 确保了特性是一个有效的路径 

注:下列数组中第一个值和第二个值为必填项,message的值为错误提示信息 ==================================================== 1. reqiurd(CRequiredValidator)-----必须验证属性: 实例:array("name""required""requiredValue"=> "张", "strict"=> true, "message"=> "请填写姓名")
  • requiredValue------mixed-----所需的值
  • strict-------boolean------是否比较严格
====================================================
2. filter(CFilterValidator )-----过滤验证方法: 实例:array("name""test""message"=> "请填写姓名")      publicfunctiontest($object$attributes) {          if($this->name != "张先森") {              $this->addError($object$attributes["message"]);          }      } 讲解:
  • filte----方法名(调用用户自己定义的函数)
====================================================
3. match(CRegularExpressionValidator)-----正则验证属性: 实例:array("name""match""allowEmpty"=> "true", "not"=> "true","pattern"=> "/[a-z]/i", "message"=> "必须不是子母") 讲解:
  • allowEmpty------boolean-----是否可以为空(默认为true)
  • not-------boolean------是否反转验证逻辑
  • pattern-------boolean------正则方法
====================================================
4. email(CEmailValidator)-----邮箱验证属性: 实例:array("name""email""allowEmpty"=> "true","pattern"=> "/[a-z]/i", "message"=> "必须不是子母") 讲解:
  • allowEmpty------boolean-----是否可以为空(默认为true)
  • pattern-------boolean------正则方法
  • allowName-------boolean------是否允许在电子邮件地址的名称
  • checkMx-------boolean------是否检查电子邮件地址的MX记录
====================================================
5. url(CUrlValidator)-----url验证属性: 实例:array("name""url""allowEmpty"=> "true","pattern"=> "/[a-z]/i", "message"=> "必须不是子母") 讲解:
  • allowEmpty------boolean-----是否可以为空(默认为true)
  • pattern-------boolean------正则方法
  • defaultScheme-------boolean------默认的URL方案
  • validSchemes-------boolean------清单应视为有效的URL计划
====================================================
6. unique(CUniqueValidator)-----唯一性验证属性: 实例:array("name""unique""allowEmpty"=> "true","caseSensitive"=> "true", "message"=> "必须不是子母") 讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • caseSensitive-------------区分大小写
====================================================
7. compare(CCompareValidator)-----比较验证属性: 实例:     与某个值比:array("name""compare""allowEmpty"=> "true","compareValue"=> "10","operator"=> ">", "message"=> "必须大于10")     与某个提交的属性比:array("name""compare""allowEmpty"=> "true","compareAttribute"=> "password","operator"=> ">", "message"=> "必须大于password")
讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • compareAttribute-------------需要比较的属性
  • compareValue-------------需要比较的值
  • operator-------------比较运算符
  • strict-------------严格执行(值和类型都要相等)
====================================================
8. length(CStringValidator)-----字符串验证属性: 实例:     是否在某个范围内:array("name""length""allowEmpty"=> "true","max"=> "10","min"=> "5", "tooLong"=> "太长了","tooShort"=> "太短了")     必须是某个长度:array("name""length""is"=> "5", "message"=> "长度必须为5")
讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • encoding-------------编码
  • is-------------确切的长度
  • max-------------最大长度
  • min-------------最小长度
  • tooLong-------------定义值太大的错误
  • tooShort-------------定义值太大的错误
====================================================
9. in(CRangeValidator)-----在某个范围内属性: 实例:     必须在某个范围内:array("name""in""range"=> array(1,2,3,4,5),"message"=> "值必须为1,2,3,4,5")     不能在某个范围内array("name""in","not"=> "true", "range"=> array(1,2,3,4,5),"message"=> "值不能为1,2,3,4,5")
讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • not-------------是否反转的验证逻辑
  • range-------------array范围
  • strict-------------严格执行(值和类型都要相等)
====================================================
10. numerical(CNumberValidator)-----数字验证属性: 实例:     必须为整数:array("name""numerical""integerOnly"=> "true""message"=> "值必须为整数")     值必须在一个范围内array("name""numerical""integerOnly"=> "true""message"=> "值必须为整数", "max"=> "100", "min"=> "10","tooBig"=> "值太大了","tooSmall"=> "值太小了")
讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • integerOnly-------------整数
  • integerPattern-------------正则表达式匹配整数
  • max-------------最大值
  • min-------------最小值
  • numberPattern-------------匹配号码
  • tooBig-------------值太大时的提示
  • tooSmall-------------值太小时的提示
====================================================
11. captcha(CCaptchaValidator)-----验证码验证属性: 实例:array("name""captcha""caseSensitive"
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。