Yii2验证器(Validator)用法分析


Posted in PHP onJuly 23, 2016

本文实例讲述了Yii2验证器(Validator)用法。分享给大家供大家参考,具体如下:

先看一下验证器的使用。

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)

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php 短链接算法收集与分析
Dec 30 PHP
Javascript与PHP验证用户输入URL地址是否正确
Oct 09 PHP
php面象对象数据库操作类实例
Dec 02 PHP
smarty模板引擎之配置文件数据和保留数据
Mar 30 PHP
ThinkPHP开发框架函数详解:C方法
Aug 14 PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
Jan 20 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
Apr 10 PHP
PHP7 list() 函数修改
Mar 09 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
Jul 23 #PHP
Yii2简单实现多语言配置的方法
Jul 23 #PHP
yii2控制器Controller Ajax操作示例
Jul 23 #PHP
PHP实现清除MySQL死连接的方法
Jul 23 #PHP
php实现批量修改文件名称的方法
Jul 23 #PHP
golang与PHP输出excel示例
Jul 22 #PHP
PHP微信支付实例解析
Jul 22 #PHP
You might like
php中最简单的字符串匹配算法
2014/12/16 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
php similar_text()函数的定义和用法
2016/05/12 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
javascript基本语法
2016/05/31 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
vue微信分享插件使用方法详解
2020/02/18 Javascript
easyUI 实现的后台分页与前台显示功能示例
2020/06/01 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
20行python代码的入门级小游戏的详解
2019/05/05 Python
python调用其他文件函数或类的示例
2019/07/16 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
大学班级计划书
2014/04/29 职场文书
市场策划求职信
2014/08/07 职场文书
感恩节寄语2015
2015/03/24 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书