Yii2 rules验证规则
Rules验证规则:
required : 必须值验证属性||CRequiredValidator 的别名, 确保了特性不为空.
[['字段名1','字段名2'],required] //字段1 2 必填 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息'];
email : 邮箱验证||CEmailValidator 的别名,确保了特性的值是一个有效的电邮地址.
['email', 'email'];
match : 正则验证||CRegularExpressionValidator 的别名, 确保了特性匹配一个正则表达式.
[['字段名'],'match','pattern'=>'正则表达式','message'=>'提示信息']; [['字段名'],'match','not'=>ture,'pattern'=>'正则表达式','message'=>'提示信息']; /*正则取反*/
url : 网址||CUrlValidator 的别名, 确保了特性是一个有效的路径.
['website', 'url', 'defaultScheme' => 'http'];
captcha(验证码)||CCaptchaValidator 的别名,确保了特性的值等于 CAPTCHA 显示出来的验证码.
['verificationCode', 'captcha'];
safe : 安全
['description', 'safe'];
compare :(比较) CCompareValidator 的别名, 确保了特性的值等于另一个特性或常量.
['repassword', 'compare', 'compareAttribute' => 'password','message'=>'两次输入的密码不一致!'], //compareValue:比较常量值 operator:比较操作符 ['age', 'compare', 'compareValue' => 30, 'operator' => '>='];
default : 默认值||CDefaultValueValidator 的别名, 为特性指派了一个默认值.
['age', 'default', 'value' => null];
exist : 存在||CExistValidator 的别名, 确保属性值存在于指定的数据表字段中.
['字段名', 'exist'];
['字段名', 'exist','targetClass'=>Class::className(),'targetAttribute'=>'字段名','message'=>''];
file : 文件||CFileValidator 的别名, 确保了特性包含了一个上传文件的名称.
['primaryImage', 'file', 'extensions' => ['png', 'jpg', 'gif'], 'maxSize' => 1024*1024*1024]
filter : 滤镜||CFilterValidator 的别名, 使用一个filter转换属性.
//'skipOnArray' => true 非必填 [['username', 'email'], 'filter', 'filter' => 'trim', 'skipOnArray' => true];
in : 范围||CRangeValidator 的别名, 确保了特性出现在一个预订的值列表里.
['level', 'in', 'range' => [1, 2, 3]];
unique : 唯一性||CUniqueValidator 的别名, 确保了特性在数据表字段中是唯一的.
['字段名', 'unique']
补充:联合唯一索引rule规则
[ ['app_id', 'group_id'], 'unique', 'targetAttribute' => ['app_id', 'group_id'], 'message' => 'app_id和group_id已经被占用!' ],
integer : 整数
['age', 'integer'];
number : 数字
['salary', 'number'];
double : 双精度浮点型
['salary', 'double'];
date : (日期)
[['from', 'to'], 'date'];
string : 字符串
['username', 'string', 'length' => [4, 24]];
boolean : 是否为一个布尔值||CBooleanValidator 的别名
['字段名', 'boolean', 'trueValue' => true, 'falseValue' => false, 'strict' => true];
image :是否为有效的图片文件
[ 'primaryImage', 'image', 'extensions' => 'png, jpg', 'minWidth' => 100, 'maxWidth' => 1000, 'minHeight' => 100, 'maxHeight' => 1000 ]
each:遍历,ids 和 product_ids 是数字的集合
[['ids', 'product_ids'], 'each', 'rule' => ['integer']],
自定义rules:
['password', 'validatePassword'],
/**
* Validates the password.
* This method serves as the inline validation for password.
*
* @param string $attribute the attribute currently being validated
* @param array $params the additional name-value pairs given in the rule
*/
public function validatePassword($attribute, $params)
{
if (!$this->hasErrors()) {
$user = $this->getUser();
if (!$user || !$user->validatePassword($this->password)) {
$this->addError($attribute, '账号或者密码错误!');
}
}
}
参考地址:http://blog.csdn.net/navioo/article/details/51096648
Yii2 rules验证规则的更多相关文章
- yii2 rules 验证规则
yii2 框架定义的约束 public $builtInValidators = [ 'boolean' => 'yii\validators\BooleanValidator', 'capt ...
- 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 ...
随机推荐
- git初体验(三)git分支
分支的理念就是分身,就像孙悟空拔出猴毛变出很多跟自己一模一样的猴子,然后每个猴子做自己的事情互不干涉,等到所有猴子做完之后,猴子集合来合并劳动成果,然后悟空就把那些猴子猴孙门统统收回了. 你创建了一个 ...
- python面试2
Python语言特性 1 Python的函数参数传递 看两个例子: 1 2 3 4 5 a = 1 def fun(a): a = 2 fun(a) print a # 1 1 2 ...
- Matlab判断鼠标移动
set(gcf,'WindowButtonMotionFcn',@get_cur_positon); 其中第二项是判断鼠标移动的属性参数,第三项为回调函数 et. main.m clear;clc;s ...
- [模板] 2-SAT
昨天早上在准备省队集训,发现自己连2-SAT是什么都不知道,于是一早上都投身于2-SAT模板中,终于有个结果. 思路如下: 1.根据条件表达式建边: 2.缩环: 3.判断是否可行: 4.根据缩完环的图 ...
- 【faster-rcnn】训练自己的数据——修改图片格式、类别
修改图片格式 matlab代码 其实内部一些代码是用了rbg的fast-rcnn代码的. \datasets\VOCdevkit2007\VOCcode\VOCinit.m里面,查找'jpg',改成' ...
- 操蛋的CTex
我一向是不屑于在windows下用latex的,看起来不伦不类,是geek就不要用windows,图方便就用word而不是latex.但是台式机上的fedora无法上网,那就委屈一下在windows1 ...
- 【uoj128】 NOI2015—软件包管理器
http://uoj.ac/problem/128 (题目链接) 题意 给出一棵树,每个节点代表一个软件包,维护卸载和安装操作.若要卸载节点x,那么必须卸载它的子树上的所有软件包:若要安装节点x必须安 ...
- centos安装163源
cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.cp wget http://mirrors.163.com/.help/CentO ...
- MVC5-3 Result分析
众多的Result 使用MVC进行开发,可以看到有ActionResult.ContentReuslt.JsonResult..等,今天对这些Result进行背后分析.它到底是如何做到的 Action ...
- ANDROID版本号和版本名称的重要性介绍
当我们在刚开始学习ANDROID的时候,可能不会过多的关注这个位于manifest.xml文件中的versionCode和versionName. 但是其实一个好的版本控制,对于我们有至关重要的作用. ...