数据库 - Model 前置说明
官方开源项目 抓取代理IP

规则在使用时,规则名称不区分大小写。

在规则使用时,需要注意,如果验证规则没有添加require就表示没有值的话不进行验证该字段。

介绍

框架内置了一些常用的验证规则,可以完成大部分场景的验证需求,包括:

  • 请求类
  • 格式验证类
  • 长度和区间验证类
  • 字段比较类
  • 内置正则表达验证
  • 自定义规则

请求验证

规则名称 参数 示例 默认message 说明
get 必须是GET请求
post 必须是POST请求
ajax 必须是AJAX请求
jwt 数据类型, 数据字段名 jwt:post, token Jwt校验不通过 Jwt校验,数据类型共支持:< code>get、< code>post、< code>raw、< code>head
csrf 数据类型, 数据字段名 csrf:post, token Csrf校验不通过 Csrf校验,数据类型共支持:< code>get、< code>post、< code>raw、< code>head

格式验证类

规则名称 参数 示例 默认message 说明
require {:preset}必填 使用empty实现
accepted {:preset}必须是 yes、on、1、或 true 常用于 用户协议 勾选判断
number {:preset}必须是纯数字
int {:preset}必须是整数
float {:preset}必须是浮点数字
bool {:preset}必须是布尔值
array {:preset}必须是数组
email {:preset}不是正确的邮箱格式 使用正则实现
mobile {:preset}不是正确的国内电话号码
phone {:preset}不是正确的手机号码
date {:preset}不是正确的日期格式
alpha {:preset}必须是纯字母
alphaNum {:preset}必须是字母或数字
alphaDash {:preset}必须是字母或数字、或下划线_及破折号-
chs {:preset}必须是纯汉字
chsAlpha {:preset}必须是汉字或字母
chsAlphaNum {:preset}必须是汉字、字母或数字
cntrl {:preset}必须是控制字符(换行、缩进、空格)
graph {:preset}必须是可打印字符(空格、换行除外)
print {:preset}必须是可打印字符(包括空格)
lower {:preset}必须是小写字母
upper {:preset}必须是大写字母
space {:preset}必须是空白字符(包括缩进,垂直制表符,换行符,回车和换页字符)
xdigit {:preset}必须是十六进制字符串
url {:preset}必须是为有效的URL地址
ip {:preset}必须是为有效的IP地址
dateFormat 日期格式 dateformat:Y-m-d {:preset}必须是 {0} 的日期格式
idCard {:preset}必须是有效的身份证格式
licensePlate {:preset}必须是国内有效的车牌号
macAddr {:preset}必须是有效的MAC地址
zip {:preset}必须是有效的邮政编码

长度和区间验证类

规则名称 参数 示例 默认message 说明
in 多个值用,分隔 in:1,2,3,篮球,游泳 {:preset}必须是在 {0} 范围内 英文状态下的逗号
NotIn 多个值用,分隔 NotIn:1,2,3,篮球,游泳 {:preset}必须是不在 {0} 范围内 英文状态下的逗号
between 数字A, 数字B between:1,100 {:preset}必须在 {0} - {1} 之间
notBetween 数字A, 数字B notBetween:1,100 {:preset}必须不在 {0} - {1} 之间
min 数字 min:100 {:preset}最小长度不能小于{0}个字符
max 数字 max:100 {:preset}最大长度不能超过{0}个字符
after 日期 after:2021-09-16 {:preset}必须是在 {0} 之后
before 日期 before:2021-09-17 {:preset}必须是在 {0} 之前
expire 日期A, 日期B expire:2021-09-10,2021-09-17 {:preset}必须是在 {0} 和 {1} 之间 注意,该规则是判断当前请求是否在日期范围内,而不是当前字段值

字段比较类

规则名称 参数 示例 默认message 说明
confirm 字段名 confirm:user.nick {:preset}必须和 {0} 相同 和当前请求中别的字段进行 等于 对比
different 字段名 different:user.nick {:preset}必须和 {0} 不同 和当前请求中别的字段进行 不等于 对比
eq= 字段名 或 值 eq:user.nick=:10 {:preset}必须 等于 {0}
neq!= 字段名 或 值 neq:user.nick!=:10 {:preset}必须 不等于 {0}
egt>= 字段名 或 值 egt:user.nick>=:10 {:preset}必须 大于等于 {0}
gt> 字段名 或 值 gt:user.nick>:10 {:preset}必须 大于 {0}
elt<= 字段名 或 值 elt:user.nick<=:10 {:preset}必须 小于等于 {0}
lt< 字段名 或 值 lt:user.nick<:10 {:preset}必须 小于 {0}

内置正则表达验证

规则名称 参数 示例 默认message 说明
username 长度min, 长度max username:5,12 {:preset}必须是字母开头,允许 {0}-{1}位,支持字母数字下划线组合
password 长度min, 长度max password:5,12 {:preset}必须是包含字母数字,允许 {0}-{1}位

SW-X

企业级 - 高性能 PHP 框架

最后更新:2年前 . 作者-小黄牛

本篇目录