转载:【TP5.0】TP5 Validate 验证规则
下面是部分tp5内置的验证规则:
格式验证类:
'name'=>'require'
验证某个字段的值是否为数字(采用filter_var验证),例如:
number 或者 integer
'name'=>'number'
验证某个字段的值是否为浮点数字(采用filter_var验证),例如:
float
'name'=>'float'
验证某个字段的值是否为布尔值(采用filter_var验证),例如:
boolean
'boolean'=>'boolean'
验证某个字段的值是否为email地址(采用filter_var验证),例如:
'email'=>'email'
验证某个字段的值是否为数组,例如:
array
'info'=>'array'
验证某个字段是否为为 yes, on, 或是 1。这在确认"服务条款"是否同意时很有用,例如:
accepted
'accept'=>'accepted'
验证值是否为有效的日期,例如:
注:会对日期值进行strtotime后进行判断。
date
'date'=>'date'
验证某个字段的值是否为字母,例如:
alpha
'name'=>'alpha'
验证某个字段的值是否为字母和数字,例如:
alphaNum
'name'=>'alphaNum'
验证某个字段的值是否为字母和数字,下划线_及破折号-,例如:
alphaDash
'name'=>'alphaDash'
验证某个字段的值是否为有效的域名或者IP,例如:
activeUrl
'host'=>'activeUrl'
验证某个字段的值是否为有效的URL地址(采用filter_var验证),例如:
url
'url'=>'url'
验证某个字段的值是否为有效的IP地址(采用filter_var验证),例如:
注:支持验证ipv4和ipv6格式的IP地址。
ip
'ip'=>'ip'
验证某个字段的值是否为指定格式的日期,例如:
dateFormat:format
'create_time'=>'dateFormat:y-m-d'
长度和区间验证类
in
'num'=>'in:1,2,3'
验证某个字段的值不在某个范围,例如:
notIn
'num'=>'notIn:1,2,3'
验证某个字段的值是否在某个区间,例如:
between
'num'=>'between:1,10'
验证某个字段的值不在某个范围,例如:
notBetween
'num'=>'notBetween:1,10'
验证某个字段的值的长度是否在某个范围,例如:

length:num1,num2
'name'=>'length:4,25'
或者指定长度
'name'=>'length:4'

验证某个字段的值的最大长度,例如:

max:number
'name'=>'max:25'
如果验证的数据是数组,则判断数组的长度。
如果验证的数据是File对象,则判断文件的大小。

验证某个字段的值的最小长度,例如:

min:number
'name'=>'min:5'
如果验证的数据是数组,则判断数组的长度。
如果验证的数据是File对象,则判断文件的大小。

验证某个字段的值是否在某个日期之后,例如:
after:日期
'begin_time' =>'after:2016-3-18',
验证某个字段的值是否在某个日期之前,例如:
before:日期
'end_time' =>'before:2016-10-01',
验证当前操作(注意不是某个值)是否在某个有效日期之内,例如:
expire:开始时间,结束时间
'expire_time' =>'expire:2016-2-1,2016-10-01',
验证当前请求的IP是否在某个范围,例如:
allowIp:allow1,allow2,...
'name' =>'allowIp:114.45.4.55',
注:该规则可以用于某个后台的访问权限
验证当前请求的IP是否禁止访问,例如:
denyIp:allow1,allow2,...
'name' =>'denyIp:114.45.4.55',
字段比较类
验证某个字段是否和另外一个字段的值一致
confirm
'repassport'=>'require|confirm:passport'
验证某个字段是否和另外一个字段的值不一致
different
'name'=>'require|different:account'
验证是否大于等于某个值,例如:

egt 或者 >=
'score'=>'egt:60' ||
'num'=>'>=:100'

验证是否大于某个值,例如:

gt 或者 >
'score'=>'gt:60' ||
'num'=>'>:100'

验证是否小于等于某个值,例如:

elt 或者 <=
'score'=>'elt:100' ||
'num'=>'<=:100'

验证是否小于某个值,例如:

lt 或者 <
'score'=>'lt:100'||
'num'=>'<:100'

验证是否等于某个值,例如:

eq 或者 = 或者 same
'score'=>'eq:100'||
'num'=>'=:100'||
'num'=>'same:100'

filter验证
支持使用filter_var进行验证,例如:
'ip'=>'filter:validate_ip'
正则验证
支持直接使用正则验证,例如:

'zip'=>'\d{6}'
或者
'zip'=>'regex:\d{6}',
如果你的正则表达式中包含有|符号的话,必须使用数组方式定义。
'accepted'=>['regex'=>'/^(yes|on|1)$/i'],

上传验证
验证是否是一个上传文件
file
验证是否是一个图像文件,width height和type都是可选,width和height必须同时定义。
image:width,height,type
验证上传文件后缀
fileExt:允许的文件后缀
验证上传文件类型
fileMime:允许的文件类型
验证上传文件大小
fileSize:允许的文件字节大小
行为验证
使用行为验证数据,例如:
'data'=>'behavior:\app\index\behavior\Check'
其它验证
验证当前请求的字段值是否为唯一的,例如:

unique:table,field,except,pk

// 表示验证name字段的值是否在user表(不包含前缀)中唯一
'name' => 'unique:user', // 验证其他字段
'name' => 'unique:user,account', // 排除某个主键值
'name' => 'unique:user,account,10', // 指定某个主键值排除
'name' => 'unique:user,account,10,user_id',
如果需要对复杂的条件验证唯一,可以使用下面的方式:
// 多个字段验证唯一验证条件
'name' => 'unique:user,status^account',
// 复杂验证条件
'name' => 'unique:user,status=1&account='.$data['account'],


验证某个字段的值等于某个值的时候必须,例如:

requireIf:field,value
// 当account的值等于1的时候 password必须
'password'=>'requireIf:account,1'

验证某个字段有值的时候必须,例如:

requireWith:field
// 当account有值的时候password字段必须
'password'=>'requireWith:account'

转载:【TP5.0】TP5 Validate 验证规则的更多相关文章
- JQuery validate验证规则
//定义中文消息 var cnmsg = { required: “必选字段”, remote: “请修正该字段”, email: “请输入正确格式的电子邮件”, url: “请输入合法的网址”, d ...
- 添加 validate 验证规则
上篇文章链接:http://blog.csdn.net/chenmoimg_/article/details/71191476 修改 msg.js $.extend($.validator.messa ...
- jquery validate验证规则重用
当多个控件验证规则相同时,如何避免冗余代码并应用相同规则呢? [1st way. addMethod+addClassRules] 场景:维护学生档案时需要维护父母.监护人.紧急联系人的身份证号码,此 ...
- Yii2.0 rules常用验证规则
设置一个修改方法,但是save(),没有成功,数据修改失败,查了好久,一般情况就是不符合rules规则,而我没有设置rules规则,重新设置了一个不能为空,然后就修改成功,rules里面什么也不写,也 ...
- jQuery的validate验证插件使用方法
(1)默认校验规则(1)required:true 必输字段(2)remote:"check.php" 使用ajax方法调用check.php验证输入值(3)email:true ...
- laravel 7 H_ui ajax添加入库及前端jQuery Validate验证+后端验证
1:引入 H-ui 用户添加页面,并修改script对应的src,添加input框的name属性值 <!DOCTYPE HTML> <html> <head> &l ...
- ThinkPHP5.0框架开发--第10章 TP5.0验证器
ThinkPHP5.0框架开发--第10章 TP5.0验证器 第10章 TP5.0验证器 ======================================= 今日学习 1.验证器 1) 控 ...
- jquery validate 动态增加删除验证规则(转载)
页面加载完成初始化form validate $("#user_regForm").validate({ errorPlacement: function(error, eleme ...
- TP5验证规则
系统内置的验证规则如下: 格式验证类 require 验证某个字段必须,例如:'name'=>'require' number 或者 integer 验证某个字段的值是否为数字(采用filter ...
随机推荐
- jvm学习笔记之class文件的加载、初始化
编写的java文件在要真正运行时,会首先被编译成 “.class"结尾的二进制文件,然后被虚拟机加载.那么在虚拟机中一个class文件要成为java实例,需要经历好几个步骤: 1.装载:装载 ...
- HTTPS 原理及配置
目录 一.HTTPS 身份验证介绍 二.windows 环境下配置 tomcat HTTPS 三.linux 环境下配置 tomcat HTTPS 一.HTTPS 身份验证介绍 1. HTTPS 原理 ...
- 【C++编程基础】(1)—— 函数原型声明、函数模板、引用、const 常引用、const 常量指针
一.函数原型声明: 1.函数声明告诉编译器函数的名称,和如何调用函数(返回类型和参数):函数定义提供了函数的实际主体. 2.强制性的:在C++中,如果函数调用的位置在函数定义之前,则要求在函数调用之前 ...
- PHP fsockopen 异步写入文件
b.php <?php $url = 'http://fsc.com/a.php'; $param = array( 'name'=>'fdipzone', 'gender'=>'m ...
- Odoo销售模块
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10825988.html 一:销售模块 销售模块的用途: 1)管理销售团队.销售人员:维护销售产品: 2)管理 ...
- mysql创建临时表,将查询结果插入已有的表
A.临时表再断开于mysql的连接后系统会自动删除临时表中的数据,但是这只限于用下面语句建立的表:1)定义字段 CREATE TEMPORARY TABLE tmp_table ( nam ...
- mysql查询语句中使用星号真的慢的要死?
前言 之所以写这篇文章,是源于以前看过的关于sql语句优化的帖子,里面明确提到了在sql语句中不要使用 * 来做查询,就像下面的规则中说的 2.尽量避免使用select *,返回无用的字段会降低查询效 ...
- call和apply的模拟实现
call 一句话介绍 call: call() 方法在使用一个指定的 this 值和若干个指定的参数值的前提下调用某个函数或方法. 举个例子: var foo = { value: 1 }; func ...
- HTML5游戏引擎深度测评
https://zhuanlan.zhihu.com/p/20768495 最近看到网上一篇文章,标题叫做<2016年 最火的 15 款 HTML5 游戏引擎>.目前针对HTML5游戏的解 ...
- 数据库join解释 与视图
数据库的视图是表运算的结果. 数据库的表是数据单元: join是运算符: 视图是运算结果. 数据库join解释 1.join:将两个表结构连接成一个视图 2.left.right.inner: 从基准 ...