本文采用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'=> '请填写姓名')
     public function test( $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' =>  'true''message'=> '验证码不正确' )
讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • caseSensitive-------------区分大小写

====================================================
12. type(CTypeValidator )-----类型验证属性:
实例: array ( 'name' 'type' 'dateFormat' =>  'MM/dd/yyyy''type'=> 'date''message'=> '类型不正确' )
讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • dateFormat-------------日期应遵循的格式模式('MM/dd/yyyy')
  • datetimeFormat-------------日期时间应遵循的格式模式('MM/dd/yyyy hh:mm')
  • timeFormat-------------时间应遵循的格式模式('hh:mm')
  • type-------------类型 ‘string’, ‘integer’, ‘float’, ‘array’, ‘date’, ‘time’, ‘datetime’

====================================================
13. file(CFileValidator )-----文件验证属性:
实例: array ( 'name' 'file' 'types' =>  array('jpg','gif','png'), 'message'=> '文件格式不正确' )
讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • maxFiles-----------最大文件数
  • maxSize-----------文件最大值
  • minSize-----------文件最小值
  • tooLarge-----------文件太大的错误信息
  • tooMany-----------文件太多的错误信息
  • tooSmall-----------文件太小的错误信息
  • types-----------允许的扩展名
  • wrongType-----------扩展名错误时的错误信息

====================================================
14. default(CDefaultValueValidator )-----默认值属性:
实例: array ( 'name' 'default' ,  'setOnEmpty'=> 'true', 'value'=> '123' )
讲解:
  • setOnEmpty-----------设置为空
  • value-----------默认值

====================================================
15. exist(CExistValidator )-----是否存在属性:
讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • attributeName-----------属性名称
  • className-----------类名
  • criteria-----------标准

====================================================
16. boolean(CBooleanValidator )-----布尔类型验证属性:
实例:array('name''boolean', 'trueValue'=> '1', 'falseValue'=> '-1','message'=> '该值只能为1或-1' )
讲解:
  • allowEmpty-----------是否可以为空(默认为true)
  • falseValue-----------错误状态的值
  • strict-----------严格验证
  • trueValue-----------真实状态的值

yii rules最全规则相关推荐

  1. Yii初学者必看-yii 表单验证规则

    对yii深入了解总结出:希望对初学者有些帮助 Active Record (AR) 是一个流行的 对象-关系映射 (ORM) 技术. 每个 AR 类代表一个数据表(或视图),数据表(或视图)的列在 A ...

  2. 自动补足算法是什么_如何自定义Shell(Fish版)的自动补全规则?

    默认fish能自动补全的命令已经相当多了,常见的apt-get,rpm等都没问题,但今天却发现没有lsusb的补全规则,查看了下文档,发现规则比bash-completion简单不少,记录下- 简单补 ...

  3. [PHP]Yii rules常用规则

    public function rules() {return array(//必须填写array('email, username, password,agree,verifyPassword,ve ...

  4. yii2中的rules 自定义验证规则详解

    yii2的一个强大之处之一就是他的Form组件,既方便又安全.有些小伙伴感觉用yii一段时间了,好嘛,除了比tp"难懂"好像啥都没有. 领导安排搞一个注册的功能,这家伙刷刷刷的又是 ...

  5. prometheus之记录规则(recording rules)与告警规则(alerting rule)

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Prometheus支持两种类型的规则:记录规则和警报规则. 要在Prometheus中包含规则,请创建一个包含必要规则语句的文件,并让Prometh ...

  6. Yii2.0 rules常用验证规则

    设置一个修改方法,但是save(),没有成功,数据修改失败,查了好久,一般情况就是不符合rules规则,而我没有设置rules规则,重新设置了一个不能为空,然后就修改成功,rules里面什么也不写,也 ...

  7. wireshark全网过虑最全规则

    新增 过滤字符串: ip.src==192.168.30.11 and ip.dst==192.168.30.238 and http.request.uri contains "netsp ...

  8. element-ui rules 自定义判断规则

    判断的顺序不同,会造成页面有细微差别,影响用户体验,该排列和判断体验最佳. rules: {expireNum: [{ required: true,validator: validatorExpir ...

  9. 别名(Alias)-Yii 约定-深入理解YII2.0(2.2)

    别名(Alias) 可以将别名视为特殊的常量变量,他的作用在于避免将一些文件路径.URL以硬编码的方式 写入代码中,或者多处出现一长串的文件路径.URL. 预定义的别名 Yii中,别名以 @ 开头,以 ...

最新文章

  1. 3D点云识别安全吗? 密歇根大学等提出稳健性分析数据集应对严重失真
  2. pymongo TypeError
  3. 那些年我们一起玩DIY总结出的经验——网络篇
  4. 成功解决WARNING:tensorflow:Variable += will be deprecated. Use variable.assign_add if you want assignmen
  5. django orm级联_django+jquery 实现级联选择菜单
  6. python perl 日本的应用_将Python,Perl,Ruby或Shell脚本转换为适用于Mac OS X的自包含应用程序 | MOS86...
  7. HT for Web列表和3D拓扑组件的拖拽应用
  8. tcp 压力 测试 软件,强大的TcpServer压力测试工具及源码(附突破连接限制的方法和工具)...
  9. Msm8937+android7.1.1编译环境搭建及编译
  10. php获取随机的六位数,php生成随机六位数密码代码
  11. Error attempting to get column ‘hiredate‘ from result set. Cause: java.sql.SQLFeatureNotSupportedEx
  12. 生命科学主要供应商排行榜
  13. Flutter —快速开发的IDE快捷方式
  14. ubuntu18.04更新内核导致显卡驱动失效
  15. Ubuntu移动硬盘下载
  16. 常用Java工具类:java抽奖码生成
  17. 天龙八部科举答题问题和答案(全6/8)
  18. Fiddler 和 Wireshark抓包教程合集
  19. (一看就会)让VM虚拟机之间联网并能相互ping通
  20. golang统计字符串字数

热门文章

  1. (矩阵Part2):矩阵进阶
  2. 办理佛山入户对于不同的人都会有什么条件
  3. python socket实现实时通信
  4. Linux 进程管理之current
  5. 【iOS】ARC学习
  6. 一起撸个简单粗暴的Tv应用主界面的网格布局控件(下)
  7. Map根据Key值进行排序(升序加降序)
  8. fpga时序逻辑(三段式状态机模板、rom实现、边沿检测)
  9. 职业规划系列文章之一
  10. 微信小程序-audio功能实现