yii2 rules 验证规则
yii2 框架定义的约束
public $builtInValidators = [
'boolean' => 'yii\validators\BooleanValidator',
'captcha' => 'yii\captcha\CaptchaValidator',
'compare' => 'yii\validators\CompareValidator',
'date' => 'yii\validators\DateValidator',
'default' => 'yii\validators\DefaultValueValidator',
'double' => 'yii\validators\NumberValidator',
'each' => 'yii\validators\EachValidator',
'email' => 'yii\validators\EmailValidator',
'exist' => 'yii\validators\ExistValidator',
'file' => 'yii\validators\FileValidator',
'filter' => 'yii\validators\FilterValidator',
'image' => 'yii\validators\ImageValidator',
'in' => 'yii\validators\RangeValidator',
'integer' => ['class' => 'yii\validators\NumberValidator', 'integerOnly' => true],
'match' => 'yii\validators\RegularExpressionValidator',
'number' => 'yii\validators\NumberValidator',
'required' => 'yii\validators\RequiredValidator',
'safe' => 'yii\validators\SafeValidator',
'string' => 'yii\validators\StringValidator',
'trim' => ['class' => 'yii\validators\FilterValidator', 'filter' => 'trim', 'skipOnArray' => true],
'unique' => 'yii\validators\UniqueValidator', 'url' => 'yii\validators\UrlValidator']
rules常用规则
//自定义
return $extends= [
[
['buyer_id','linkman','phone_area','buyer_id','province','city','street','zcode','is_default','type'],
'required','message'=>'{attribute} 不能为空','on'=>['add','edit']
],
['addr_id','required','message'=>'{attribute} 不能为空','on'=>'edit'],
[['province','city','linkman'],'match','pattern'=>'/^[\x{4e00}-\x{9fa5}]+$/u','message' => '{attribute}只能输入中文字符',],
[['zcode','is_default','type','phone_area','phone','zcode','phone_ext','mobile'],'match','pattern'=>'/^[0-9]+$/','message' => '{attribute} 必须为数字'],
['street', 'string', 'max' => 30],
['mobile', 'string', 'max' => 11,'min'=>11,'tooLong'=>'手机号格式为11位的数字'],
[['phone_ext','phone_area'], 'string', 'max' => 4],
[['phone'], 'string', 'max' => 10,'min'],
['zcode','string','max'=>6,]
];
//copyreturn array( //必须填写array('email, username, password,agree,verifyPassword,verifyCode', 'required'), //检查用户名是否重复array('email','unique','message'=>'用户名已占用'), //用户输入最大的字符限制array('email, username', 'length', 'max'=>64), //限制用户最小长度和最大长度array('username', 'length', 'max'=>7, 'min'=>2, 'tooLong'=>'用户名请输入长度为4-14个字符', 'tooShort'=>'用户名请输入长度为2-7个字'), //限制密码最小长度和最大长度array('password', 'length', 'max'=>22, 'min'=>6, 'tooLong'=>'密码请输入长度为6-22位字符', 'tooShort'=>'密码请输入长度为6-22位字符'),//判断用户输入的是否是邮件array('email','email','message'=>'邮箱格式错误'), //检查用户输入的密码是否是一样的array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message'=>'请再输入确认密码'),//检查用户是否同意协议条款array('agree', 'required', 'requiredValue'=>true,'message'=>'请确认是否同意隐私权协议条款'), //判断是否是日期格式array('created', 'date', 'format'=>'yyyy/MM/dd/ HH:mm:ss'),//copy
//判断是否包含输入的字符array('superuser', 'in', 'range' => array(0, 1)),
//正则验证器: array('name','match','pattern'=>'/^[a-z0-9\-_]+$/'),
//数字验证器: array('id', 'numerical', 'min'=>1, 'max'=>10, 'integerOnly'=>true),
//类型验证 integer,float,string,array,date,time,datetime array('created', 'type', 'datetime'),
//文件验证: array('filename', 'file', 'allowEmpty'=>true, 'types'=>'zip, rar, xls, pdf, ppt','tooLarge'=>'图片不要超过800K'), array('url',
'file', //定义为file类型
'allowEmpty'=>true,
'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx', //上传文件的类型
'maxSize'=>1024*1024*10, //上传大小限制,注意不是php.ini中的上传文件大小
'tooLarge'=>'文件大于10M,上传失败!请上传小于10M的文件!'
),
public function rules()
{
return array(
//必须填写
array('email, username, password,agree,verifyPassword,verifyCode', 'required'),
//检查用户名是否重复
array('email','unique','message'=>'用户名已占用'),
//用户输入最大的字符限制
array('email, username', 'length', 'max'=>64),
//限制用户最小长度和最大长度
array('username', 'length', 'max'=>7, 'min'=>2, 'tooLong'=>'用户名请输入长度为4-14个字符', 'tooShort'=>'用户名请输入长度为2-7个字'),
//限制密码最小长度和最大长度
array('password', 'length', 'max'=>22, 'min'=>6, 'tooLong'=>'密码请输入长度为6-22位字符', 'tooShort'=>'密码请输入长度为6-22位字符'),
//判断用户输入的是否是邮件
array('email','email','message'=>'邮箱格式错误'),
//检查用户输入的密码是否是一样的
array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message'=>'请再输入确认密码'),
//检查用户是否同意协议条款
array('agree', 'required', 'requiredValue'=>true,'message'=>'请确认是否同意隐私权协议条款'),
//判断是否是日期格式
array('created', 'date', 'format'=>'yyyy/MM/dd/ HH:mm:ss'),
//判断是否包含输入的字符
array('superuser', 'in', 'range' => array(0, 1)),
//正则验证器:
array('name','match','pattern'=>'/^[a-z0-9\-_]+$/'),
//数字验证器:
array('id', 'numerical', 'min'=>1, 'max'=>10, 'integerOnly'=>true),
//类型验证 integer,float,string,array,date,time,datetime
array('created', 'type', 'datetime'),
//文件验证:
array('filename', 'file', 'allowEmpty'=>true, 'types'=>'zip, rar, xls, pdf, ppt','tooLarge'=>'图片不要超过800K'),
array('url',
'file', //定义为file类型
'allowEmpty'=>true,
'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx', //上传文件的类型
'maxSize'=>1024*1024*10, //上传大小限制,注意不是php.ini中的上传文件大小
'tooLarge'=>'文件大于10M,上传失败!请上传小于10M的文件!'
),
} );
yii2 rules 验证规则的更多相关文章
- Yii2 rules验证规则
Rules验证规则: required : 必须值验证属性||CRequiredValidator 的别名, 确保了特性不为空. [['字段名1','字段名2'],required] //字段 ...
- Yii2 rules验证规则大全
1.required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequire ...
- yii2 rules验证规则,ajax验证手机号码是否唯一
<?php namespace frontend\models; use Yii; use yii\base\Model; /** * Signup form */ class SignupFo ...
- yii2.0-rules验证规则应用实例
Rules验证规则: required : 必须值验证属性||CRequiredValidator 的别名, 确保了特性不为空. [['字段名1','字段名2'],required] //字段 ...
- Yii CModel中rules验证规则[转]
array( array(‘username’, ‘required’), array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12), array( ...
- Yii CModel中rules验证规则
array( array(‘username’, ‘required’), array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12), array( ...
- Yii2.0 rules验证规则大全
required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...
- [moka同学收藏]Yii2.0 rules验证规则
required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...
- Yii2中rules验证规则
required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...
随机推荐
- 【nowcoder】 4th T1 动态点分治
题目链接:https://www.nowcoder.com/acm/contest/175/A 题目名字吓死人 std: 我 太可啪了 一道简单的模拟题.虽然我把题意想错了. 按照题意模拟输出和继承. ...
- IO多路复用版FTP
需求: 实现文件上传及下载功能 支持多连接并发传文件 使用select or selectors 流程图 import socket import pickle import sys import t ...
- 基于Protostuff实现的Netty编解码器
在设计netty的编解码器过程中,有许多组件可以选择,这里由于咱对Protostuff比较熟悉,所以就用这个组件了.由于数据要在网络上传输,所以在发送方需要将类对象转换成二进制,接收方接收到数据后,需 ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- SpringBoot 下 mybatis 的缓存
背景: 说起 mybatis,作为 Java 程序员应该是无人不知,它是常用的数据库访问框架.与 Spring 和 Struts 组成了 Java Web 开发的三剑客--- SSM.当然随着 Spr ...
- Excel动态图表
动态图表其实一点都不难,真的!先看效果,然后教你一步步实现.这是每个地区经销跟代销的数据.Step 01在开发工具插入表单控件.Step 02将表单控件调整到合适的大小,并设置控件格式.Step 03 ...
- 【Alpha】事后分析
Alpha阶段终于告一段落,我们的团队也完整经历了从提出设想.用户需求分析,到开发.测试,再到部署上线.推广的流程."葫芦娃不想写代码"团队还是较出色地完成了Alpha阶段的工作, ...
- 中国地图插件世界地图||jQuery矢量SVG地图插件JVectorMap
中国地图插件|jQuery矢量SVG地图插件JVectorMap https://www.html5tricks.com/jquery-china-map.html 世界地图: https://www ...
- Google Quic协议
0x01 Quic QUIC协议于2012年实现,2015年提交RFC草案,它是Goolge为了解决当今WEB应用常见的传输层和应用层问题而提出的,从分层结构上可以看做是TCP+TLS+HTTP2的集 ...
- gridview单击选中勾选框
1.Dev2005版本: gridView1.OptionsBehavior.ShowEditorOnMouseUp = false;2.Dev2013版本: gridView1.OptionsBeh ...