# 通用验证规则

提示:通过表单构建器提交的数据,在后端校验数据之前会在前端进行相应的数据规则的校验,提升用户体验。

# 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

验证字段的值为手机格式

# email

验证字段的值为邮箱格式

# 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格式字符串