验证器的使用方法:

public function rules()
{
return [
[['email', 'password'], 'required'],
['password', 'string', 'min'=>6],
];
}

如上所示,验证器主要使用在rules里面,对当前model里面的属性值进行验证以检查是否满足某种要求。

验证器使用格式

书写格式为:[需要验证的属性,验证器名称,验证器参数]。

如果需要验证的属性为多个可用数组,如果为一个属性可用字符串也可用数组来表示。

每个属性都可以有多个验证器,如上面的password使用了 required和string两个验证器。

常用验证器

Yii2已经内置了一些常用的验证器。所有的验证器都从基类yii\validators\Validator继承实现。我大概总结下有这么几类。

数字相关

  • integer——整数

用来检测属性值是否为整数,以及最大、最小值检测等。(yii\validators\NumberValidator)

  • double——浮点

用来检测属性值是否为浮点数,即小数。(yii\validators\NumberValidator)

  • number——数字

这个和上面的double完全相同,只是用了2个名称。(yii\validators\NumberValidator)
格式相关

  • date——日期

检验属性值是否为正确的日期格式。(yii\validators\DateValidator)

  • email——邮件

检测属性值是否是正确的电子邮件格式。(yii\validators\EmailValidator)

  • url——URL

用来判断属性值是否是正确的url地址。(yii\validators\UrlValidator)
对值进行函数处理

  • filter——过滤器

这个是对属性值进行加工处理的。如对属性值加前缀、替换特定的字符串等等。(yii\validators\FilterValidator)

  • trim——裁边

这个是对属性值进行加工处理的。只是去掉字符串两侧的空格、或指定的字符串。(yii\validators\FilterValidator)
上传文件验证

  • file——文件

这个主要是对上传的文件进行验证,如格式、大小等。(yii\validators\FileValidator)

  • image——图片

这个和上面的file验证器差不多,不过是专门用来验证图片的。(yii\validators\ImageValidator)
判断比较

  • compare——比较

用来对两个属性值进行比较,如相等、大于、小于比较等。(yii\validators\CompareValidator)

  • in——包含(范围)

用来检测属性值是否包含在指定的数组中。(yii\validators\RangeValidator)

  • exist——存在

用来检测在数据表中是否已经存在此属性值。(yii\validators\ExistValidator)

  • unique——唯一性

这个和exist差不多,用来检测值是否是唯一。(yii\validators\UniqueValidator)

  • string——字符串

对属性值进行长度判断,如最大长度、最短长度等。(yii\validators\StringValidator)

  • boolean——布尔型

用来检查属性的值是否为布尔值。(yii\validators\BooleanValidator)

  • default——默认值

这个是用来给属性设置默认值的。如当属性值为null的时候,给它设置为 空的默认值。(yii\validators\DefaultValueValidator)

  • required——必填

这个用来检查属性值是否为空。(yii\validators\RequiredValidator)

  • captcha——验证码

这个主要是在界面使用验证码的时候对验证码进行验证的。(yii\captcha\CaptchaValidator)

  • match——正则表达式

这个就比较强大了,用来检测属性值是否匹配给出的正则。上面所列出的基本都可以用这个实现。(yii\validators\RegularExpressionValidator)
其它

  • safe——安全

这个不进行验证,仅仅用来指定属性值是安全的。(yii\validators\SafeValidator)
---------------------

源自博友的博客:https://blog.csdn.net/wjtlht928/article/details/46432413

Yii2 验证规则的更多相关文章

  1. yii2验证规则

    验证规则 1.内置验证规则 [['sex', 'partner_id'], 'integer'], [['partner_id', 'camp_id',], 'required'], [['creat ...

  2. yii2 验证规则使用方法

    required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...

  3. yii2中自定义验证规则rules

    作者:白狼 出处:www.manks.top/article/yii2_custom_rules 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追 ...

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

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

  5. Yii2 rules验证规则

    Rules验证规则:  required : 必须值验证属性||CRequiredValidator 的别名, 确保了特性不为空. [['字段名1','字段名2'],required]    //字段 ...

  6. yii2.0-rules验证规则应用实例

    Rules验证规则:  required : 必须值验证属性||CRequiredValidator 的别名, 确保了特性不为空. [['字段名1','字段名2'],required]    //字段 ...

  7. Yii2验证登录得User类

    Yii2中的  Class yii\web\User 是如果进行验证登录,如果我们使用User类验证登录会给我们减少很多麻烦.在此就拿Yii2中自带的登录功能进行说明. 配置.在应用配置文件compo ...

  8. Yii1.1的验证规则

    在Yii1.1的数据验证是由CValidator完成,在CValidator中提供了各种基本的验证规则 <?php public static $builtInValidators=array( ...

  9. ThinkPhp5.0模型验证规则

    Tp5提供了模型数据规则的验证功能,用于在数据save或者update前验证数据的有效性.Tp5提供校验规则的类为\Think\Validate,默认提供的校验规则可以查看该文件. 在Model文件中 ...

随机推荐

  1. pandas的分布式执行框架之modin

    Scale your pandas workflows by changing one line of code       To use Modin, replace the pandas impo ...

  2. Jenkins-在windows上配置自动化部署(Jenkins+Bonobo.Git.Server)

    本文配置Jenkins.git服务器采用 Bonobo.Git.Server 1. 登录后,打开Jenkins界面,新建一个任务 2. 配置信息 3. 配置git项目地址,我们先进行其他配置,等会再继 ...

  3. windows下搭建vue开发环境+IIS部署

    原创]win10下搭建vue开发环境  https://www.cnblogs.com/ixxonline/p/6007885.html 特别说明:下面任何命令都是在windows的命令行工具下进行输 ...

  4. 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性)

    一. 简介 上一个章节中,也介绍了立即加载和延迟加载,但上一个章节是针对单表而言的,不含外键,立即也好,延迟也好,都是指单表中的数据.但本章节重点介绍的三种加载方式均是针对含(导航属性.外键)的情况下 ...

  5. EffectiveC++ 第2章 构造/析构/赋值运算

    我根据自己的理解,对原文的精华部分进行了提炼,并在一些难以理解的地方加上了自己的"可能比较准确"的「翻译」. Chapter 2 构造 / 析构 / 赋值 条款 05:了解C++ ...

  6. 【hdu 5632】Rikka with Array

    Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Ri ...

  7. 412 6个题 BOM and DOM 定义计数器 网页跳转 网页前进后退

    AM BOM-JavaScript: 提供一系列对象哟用于和浏览器窗口交互,对象主要有 window.document.location.navigator.screen 统称浏览器对象模型(Brow ...

  8. BootStrap顺序验证和指定字符个数发送请求

    fields: { curPwd: { verbose: false, //代表验证按顺序验证.验证成功才会下一个(验证成功才会发最后一个remote远程验证) threshold: 6,//有6字符 ...

  9. ansible入门及组件介绍

    Ansible简介 Ansible是自动化运维的工具,基于Python开发,实现了批量系统配置.批量程序部署.批量运行命令等功能.Ansible是基于模块工作的,ansible提供一个框架,通过模块实 ...

  10. 20165230 Exp3 免杀原理与实践

    目录 1.实验内容 2.基础问题回答 3.实验内容 任务一:正确使用免杀工具或技巧 使用msf编码器,msfvenom生成如jar之类的其他文件 使用veil-evasion 自己利用shellcod ...