# 通用验证规则
提示:通过表单构建器提交的数据,在后端校验数据之前会在前端进行相应的数据规则的校验,提升用户体验。
# require
验证字段必须
注意:如果验证规则没有添加require
就表示没有值(null或空字符串)的话不进行验证
# number
验证字段的值是否为纯数字
# integer
验证字段的值是否为整数
# positiveInt
验证字段的值是否为正整数
# positiveInteger
验证字段的值是否为正整数
# nonnegativeInt
验证字段的值是否为非负整数
# nonnegativeInteger
验证字段的值是否为非负整数
# nonnegativeNum
版本 >= 3.3.12
验证字段的值是否为非负数
# nonnegativeNumber
版本 >= 3.3.12
验证字段的值是否为非负数
# float
验证字段的值是否为浮点数
# boolean 或者 bool
验证字段的值是否为布尔值
# length
验证字段的值长度是否在某个范围
例如:值长度只能在50和100之间。代码示例:length:50,100
或者指定长度length:4
# min
验证字段的值最小长度
例如:值长度最少需大等于10。代码示例:min:10
# max
验证字段的值最大长度
例如:值长度不能超过20。代码示例:max:20
# in
验证字段的值是否在某个范围
例如,值只能为read或者write。代码示例:in:read,write
# notIn
验证字段的值是否不在某个范围
例如,值不能为read或者write。代码示例:notIn:read,write
# between
验证字段的值是否在某个区间
示例:between:1,10
# notBetween
验证字段的值是否不在某个区间
示例:notBetween:1,10
# eq
验证字段的值是否等于某个值
示例:eq:10
# egt
验证字段的值是否大等于某个值
示例:egt:10
# gt
验证字段的值是否大于某个值
示例:gt:10
# elt
验证字段的值是否小等于某个值
示例:elt:10
# lt
验证字段的值是否小于某个值
示例:lt:10
# array
验证值是否为数组格式
# arrayIn
验证数组字段的值只能为给定规则的值
例如,数组字段元素值只能为1/2/3。代码示例:arrayIn:1,2,3
# arrayEmptyOrIn
验证字段的值为空数组或者只能为给定规则的值
例如,数组字段元素值为空数组或只能为1/2/3。代码示例:arrayEmptyOrIn:1,2,3
# arrayPositiveInt
验证字段的值是否为正整数组成的数组
# arrayEmptyOrPositiveInt
验证字段的值是否为空数组或者正整数组成的数组
# mapHas
验证字段的值为map(php为数组|js为object),且其key必须包含给定key
例如,验证结果里面包含name和sex的定义。代码示例:mapHas:name,sex
# mapEmptyOrHas
验证字段的值为map(php为数组|js为object),值为空map或其key必须包含给定key
例如,字段值为空map或包含name和sex。代码示例:mapEmptyOrHas:name,sex
# arrayItemHas
验证字段的值为数组,且数组元素key必须包含给定key
例如,验证结果里面包含name和sex的定义。代码示例:arrayItemHas:name,sex
# arrayEmptyOrItemHas
验证字段的值为数组,值为空数组或数组元素key必须包含给定key
例如,字段值为空map或包含name和sex。代码示例:arrayEmptyOrItemHas:name,sex
# area:acc
验证地区字段的值只能为给定精度的值
acc:验证精确度,可选值:province、city、district(默认)。
例如,验证提交地区精确到区县的数据。代码示例:area:district
# mobile
验证字段的值为手机格式
验证字段的值为邮箱格式
# chs
验证字段的值只能为汉字
# chsAlphaNum
验证字段的值只能为汉字/字母/数字
# chsDash
验证字段的值只能为汉字/字母/数字/下划线_及短横线-
# chsDashSpace
验证字段的值只能为汉字/字母/数字/下划线_/短横线及空格
# alphaNum
验证字段的值只能为字母/数字
# alphaDash
验证字段的值只能为字母/数字/下划线_及短横线-
# hexColor
验证字段的值是否为16进制色号。例:#ffffff
# date
验证字段的值是否为有效日期,仅对yyyy-MM-dd格式数据有效。例:2021-11-26
# datetime
验证字段的值是否为有效日期时间,仅对yyyy-MM-dd HH:mm:ss格式数据有效。例:2021-11-26 20:02:09
# year
验证字段的值是否为有效年份,仅对yyyy格式数据有效。例:2021
# yearMonth
验证字段的值是否为有效年月,仅对yyyy-MM格式数据有效。例:2021-09
# month
验证字段的值是否为有效月份。例:1月=>1,12月=>12
# time
验证字段的值是否为有效时间,仅对HH:mm:ss格式数据有效。例:20:02:09
# timeRange
验证字段的值是否为有效日期/时间范围,rule表示时间值类型,可选值有:
date(表示日期,如:2024-08-08)
datetime(表示日期时间,如:2024-08-08 08:08:08)
year(表示年份,如:2024)
yearMonth(表示年月,如:2024-08)
time(表示时间,如:08:08:08)
例:
["start":"2024-08-08 19:02:09","end":"2024-08-08 20:02:09"] => 代码示例:timeRange:datetime
["start":"09:02:09","end":"20:02:09"] => 代码示例:timeRange:time
# commaIntervalChsAlphaNum
验证字段的值只能为逗号“,”间隔的汉字/字母/数字组合
# commaIntervalPositiveInt
验证字段的值只能为逗号“,”间隔的正整数组合
# url
验证字段的值只能为url地址
# urls
验证字段的值只能为url地址数组
# uri
版本 >= 3.3.12
验证字段的值只能为uri地址。不含域名,“/”开头
# json
版本 >= 3.3.12
验证字段的值只能为json格式字符串