array(

array(‘username’, ‘required’),
array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12),
array(‘password’, ‘compare’, ‘compareAttribute’=>’password2′, ‘on’=>’register’),
array(‘password’, ‘authenticate’, ‘on’=>’login’),
array(‘Price’,’numerical’, ‘integerOnly’=>true),
);
public function rules()
{
return array(
array(‘title, content, status’, ‘required’),
array(‘title’, ‘length’, ‘max’=>128),
array(‘status’, ‘in’, ‘range’=>array(1,2,3)),
array(‘tags’, ‘match’, ‘pattern’=>’/^[\w\s,]+$/’,
‘message’=>’Tags can only contain word characters.’),
array(‘tags’, ‘normalizeTags’),
array(‘title, status’, ‘safe’, ‘on’=>’search’),
);
}
预定义完整列表: 

yii验证rulesit 分类: Yii yii的rules验证 cValidator主要属性 attributes ,builtInValidators,enableClientValidation,message,on,safe,skipOnError

经常用到的属性有 attributes,builtInvalidators,message,on这四个

下面是对应的验证类

required: CRequiredValidator

filter: CFilterValidator

match: CRegularExpressionValidator

email: CEmailValidator

url: CUrlValidator

unique: CUniqueValidator

compare: CCompareValidator

length: CStringValidator

in: CRangeValidator

numerical: CNumberValidator

captcha: CCaptchaValidator

type: CTypeValidator

file: CFileValidator

default: CDefaultValueValidator

exist: CExistValidator

boolean: CBooleanValidator

date: CDateValidator

safe: CSafeValidator

unsafe: CUnsafeValidator

1、CRequiredValidator – 必须值验证属性

requiredValue-mixed-所需的值

strict-boolean-是否比较严格

实例: array(‘username’, ‘required’), 不能为空

array(‘username’, ‘required’, ‘requiredValue’=>’lh’,’message’=> ‘usernmae must be lh’), 这个值必须为lh,如果填其他值还是会验证不过

array(‘username’, ‘required’, ‘requiredValue’=>’lh’, ‘strict’=>true), 严格验证 还可以在后面加 ‘message’=>”,’on’=>这些

2、CFilterValidator 过滤验证属性

filter – 方法名 (调用用户自己定义的函数)

实例:

array(‘username’, ‘test’) function test() { $username = $this->username; if($username != ‘lh’){ $this->addError(‘username’, ‘username must be lh’); } }

使用这个方法如果你还在array里面写message=>”,给出的提示信息还是你的test里面的。也就是以test里面的错误信息为准

3、CRegularExpressionValidator -

正则验证属性allowEmpty – 是否为空(默认true)

not-是否反转的验证逻辑(默认false) pattern – 正则表达式匹配实例:

// 匹配a-z array(‘username’, ‘match’, ‘allowEmpty’=>true, ‘pattern’=>’/[a-z]/i’,’message’=>’必须为字母’),

// 匹配不是a-z array(‘username’, ‘match’, ‘allowEmpty’=>true, ‘not’=>true, ‘pattern’=>’/[a-z]/i’,’message’=>’必须不是字母’),

4、CEmailValidator –邮箱验证属性:

allowEmpty – 是否为空

allowName – 是否允许在电子邮件地址的名称

checkMx – 是否检查电子邮件地址的MX记录

checkPort – 是否要检查端口25的电子邮件地址

fullPattern – 正则表达式,用来验证电子邮件地址与名称的一部分

pattern – 正则表达式,

用来验证的属性值实例: array(‘username’, ‘email’, ‘message’=>’必须为电子邮箱’, ‘pattern’=>’/[a-z]/i’),

5、CUrlValidator – url验证属性:

allowEmpty – 是否为空

defaultScheme – 默认的URI方案

pattern – 正则表达式

validSchemes – 清单应视为有效的URI计划。

实例:

array(‘username’, ‘url’, ‘message’=>’must url’),

array(‘username’, ‘url’, ‘defaultScheme’=>’http://www.baidu.com’),

6、CUniqueValidator – 唯一性验证属性:

allowEmpty – 是否为空

attributeName – 属性名称

caseSensitive – 区分大小写

className – 类名

criteria – 额外的查询条件

实例:

array(‘username’, ‘unique’, ‘message’=>’该记录存在’),

array(‘username’, ‘unique’, ‘caseSensitive’=>false, ‘message’=>’该记录存在’),

7、CCompareValidator – 比较验证属性:

allowEmpty – 是否为空

compareAttribute – 需要比较的属性

compareValue -比较的值

operator – 比较运算符

strict – 严格验证(值和类型都要相等)

实例: // 与某个值比较 array(‘username’, ‘compare’, ‘compareValue’=>’10′, ‘operator’=>’>’, ‘message’=>’必须大于10′),

// 与某个提交的属性比较 array(‘username’, ‘compare’, ‘compareAttribute’=& gt;’password’, ‘operator’=>’>’, ‘message’=>’必须大于password’),

8、CStringValidator – 字符串验证属性:

allowEmpty – 是否为空

encoding – 编码

is – 确切的长度

max – 最大长度

min – 最小长度

tooLong – 定义值太大的错误

tooShort – 定义最小长度的错误

实例: array(‘username’, ‘length’, ‘max’=>10, ‘min’=>5, ‘tooLong’=>’太长了’, ‘tooShort’=>’太短了’),

array(‘username’, ‘length’, ‘is’=>5, ‘message’=>’长度必须为5′),

9、CRangeValidator – 在某个范围内属性:

allowEmpty – 是否为空

not – 是否反转的验证逻辑。

range – array范围

strict – 严格验证(类型和值都要一样)

实例: array(‘username’, ‘in’, ‘range’=>array(1,2,3,4,5), ‘message’=>’must in 1 2 3 4 5′),

array(‘username’, ‘in’, ‘not’=>true, ‘range’=>array(1,2,3,4,5), ‘message’=>’must not in 1 2 3 4 5′),

10、CNumberValidator – 数字验证属性:

allowEmpty – 是否为空

integerOnly – 整数

integerPattern – 正则表达式匹配整数

max – 最大值

min – 最小值

numberPattern – 匹配号码

tooBig – 值太大时的错误提示

tooSmall – 值太小时的错误提示

实例: array(‘username’, ‘numerical’, ‘integerOnly’=>true, ‘message’=>’must be int’),

array(‘username’, ‘numerical’, ‘integerOnly’=>true, ‘message’=>’must be int’, ‘max’=>100, ‘min’=>10, ‘tooBig’=>’is too big’, ‘tooSmall’=>’is too small’),

11、CCaptchaValidator – 验证码验证属性:

allowEmpty – 是否为空

caseSensitive – 区分大小写

12、CTypeValidator – 类型验证属性:

allowEmpty – 是否为空

dateFormat – 日期应遵循的格式模式(‘MM/dd/yyyy’)

datetimeFormat – 日期时间应遵循的格式模式(‘MM/dd/yyyy hh:mm’)

timeFormat – 时间应遵循的格式模式(‘hh:mm’)

type – 类型 ‘string’, ‘integer’, ‘float’, ‘array’, ‘date’, ‘time’ and ‘datetime’

实例: array(‘username’, ‘type’, ‘dateFormat’=>’MM/dd/yyyy’, ‘type’=>’date’),

13、CFileValidator – 文件验证属性:

allowEmpty – 是否为空

maxFiles – 最大文件数

maxSize – 文件的最大值

minSize – 最小值

tooLarge – 太大时的错误信息

tooMany – 太多时的错误信息

tooSmall – 太小时的错误信息

types – 允许的文件扩展名

wrongType – 扩展名错误时给出的错误信息

14、CDefaultValueValidator – 默认值属性:

setOnEmpty – 设置为空

value – 默认值

实例: array(‘username’, ‘default’, ‘setOnEmpty’=>true, ‘value’=>’lh’),

15、CExistValidator – 是否存在属性:

allowEmpty = 是否为空

attributeName – 属性名称

className – 类名

criteria – 标准

16、CBooleanValidator – 布尔类型验证属性:

allowEmpty – 是否为空

falseValue – 错误状态的值

strict – 严格验证

trueValue – 真实状态的值

实例: array(‘username’, ‘boolean’, ‘trueValue’=>1, ‘falseValue’=>-1, ‘message’=>’the value must be 1 or -1′),

17、CDateValidator – 日期验证属性:

allowEmpty – 是否为空

format – 日期值应遵循的格式模式

timestampAttribute – 接收解析结果的属性名称

实例: array(‘username’, ‘date’, ‘format’=>’MM-dd-yyyy’,’message’=>’must be MM-dd-yyyy’),

Yii CModel中rules验证规则[转]的更多相关文章

  1. Yii CModel中rules验证规则

    array( array(‘username’, ‘required’), array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12), array( ...

  2. Yii CModel中rules验证 获取错误信息

    在model中定义 public function rules(){ return array( array('Name,Email','required'), array('Email','uniq ...

  3. Yii2中rules验证规则

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

  4. yii2 rules 验证规则

    yii2  框架定义的约束 public $builtInValidators = [ 'boolean' => 'yii\validators\BooleanValidator', 'capt ...

  5. Yii2 rules验证规则

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

  6. [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则

    目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...

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

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

  8. Model中的验证规则

    一.能够使用Model的Attribute进行服务端数据验证 本文目录 一.概述 二.MVC提供的常用上下文 三.自定义正则表达式验证 一.概述 为了确保数据的安全性,由Client发送到服务端的每一 ...

  9. Yii 中比较常用的rules验证规则记录

    查看代码   打印 01 return array( 02   03     //必须填写 04     array('email, username, password,agree,verifyPa ...

随机推荐

  1. 解决Nginx不支持pathinfo的问题

    server { listen 80; server_name www.zq27.cc zq27.cc; root /data/wwwroot/www.zq27.cc/; access_log off ...

  2. 【Mail】telnet收发邮件过程

    telnet发送邮件 关于电子邮件的基础知识请参照:[Mail]邮件的基础知识和原理 smtp协议是一个简单的邮件传输协议,利用它我们可以将邮件发送给别人,这里将通过telnet这个程序利用smtp协 ...

  3. jekyll安装的斗智斗勇

    jekyll---将纯文本转化为静态网站和博客,GitHub Pages 可以运行 Jekyll,你很简单就可以完全免费的在 GitHub 上发布网站. 小白安装jekyll时的若干问题,有错误欢迎指 ...

  4. java 读取文件内容 三种形式及效率对比

    IOUtils.getStringFromReader() 读取方式为最快的 InputStream in = null; String line = ""; long start ...

  5. UI基础之UITableViewController相关

    1> 设置类型为Group - (instancetype)initWithStyle:(UITableViewStyle)style { return [super initWithStyle ...

  6. 【分块打表】bzoj3798 特殊的质数

    块大小为10^5. #include<cstdio> using namespace std; const int table[] = {0, 4784, 8978, 12981, 169 ...

  7. 快手 KSCAD 5.0 矢量图形设计软件

    今天我的快手软件发布了一个最新版本 KSCAD 5.0,免费使用, 详情请看 www.timegis.com 快手 5.0 (KSCAD) 是一款简单易用的矢量绘图软件,其功能和Visio类似,可以绘 ...

  8. MySQL的安装配置

    安装配置 MySQL1.官方下载 MySQL2.用 tar 解压.tar.bz 或.tar.gz3.解压后有三个目录,分别为 usr etc var4.进入 usr,进入 bin5.在主机上建个目录( ...

  9. 为什么匿名内部类只能访问final变量【转】

    是变量的作用域的问题,因为匿名内部类是出现在一个方法的内部的,如果它要访问这个方法的参数或者方法中定义的变量,则这些参数和变量必须被修饰为final.因为虽然匿名内部类在方法的内部,但实际编译的时候, ...

  10. <Oracle Database>后台进程

    进程监视器进程(PMON)  这个进程负责在出现异常中止的连接之后完成清理.PMON会回滚未提交的工作,并释放为失败进程分配的SGA资源.PMON还负责监视其他的Oracle后台进程,并在必要时(如果 ...