系统内置了一些常用的验证规则,可以完成大部分场景的验证需求:
WARNING
验证规则严格区分大小写
# 格式验证类
验证某个字段必须,例如:
'name':'require'
警告
如果验证规则没有添加require
就表示没有值的话不进行验证
验证某个字段的值是否为纯数字字符串,例如:
'num':'number'
验证某个字段的值是否为mail地址,例如:
'mail':'mail'
验证某个字段的值是否为数组,例如:
'info':'array'
验证某个字段的值只能是汉字,例如:
'name':'chs'
验证某个字段的值只能是汉字、字母,例如:
'name':'chsAlpha'
验证某个字段的值只能是汉字、字母和数字,例如:
'name':'chsAlphaNum'
验证某个字段的值是否为字母和数字,下划线_
及破折号-
,例如:
'name':'alphaNum'
验证某个字段的值只能是汉字、字母、数字和下划线_及破折号-,例如:
'name':'chsDash'
验证某个字段的值是否为有效的手机,例如:
'mobile':'mobile'
验证某个字段的值是否为有效的身份证格式,例如:
'id_card':'idCard'
判断是否为有效的统一社会信用代码
'name' : 'creaditCode'
通过正则方式来判断是否为有效的整数
'name' : 'integer'
通过正则方式来判断是否为有效的小数
'name' : 'decimal'
判断是否为有效的文件对象
'name' : 'file'
判断是否IpV4
'name' : 'ipV4'
判断是否字符串类型
'name' : 'string'
判断是否为合法Url
'name' : 'url'
判断字段是否为小写字母
'name' : 'lower'
判断字段是否为大写字母
'name' : 'upper'
判断字段是否为纯字母
'name' : 'alpha'
判断字段是否为金额格式,最多保留两位小数点
'name' : 'amount'
# 长度和区间验证类
验证某个字段的值是否在某个范围
'num':'in:1,2,3',
验证某个字段的值不在某个范围
'num':'notIn:1,2,3',
验证某个字段的值是否在某个区间,例如:
'num':'between:1,10'
验证某个字段的值不在某个范围,例如:
'num' : 'notBetween:1,10'
验证某个字段的值的长度是否在某个范围,例如:
'name' : 'length:4,25'
或者指定长度
'name' : 'length:4'
提示
如果验证的数据是数组,则判断数组的长度。
如果验证的数据是数值,则把数值转为字符串进行判断
验证某个字段的值的最大长度,例如:
'name' : 'max:25'
提示
如果验证的数据是数组/对象,则判断数组的长度。
如果验证的数据是字符串,则判断文本长度
如果验证的数据为数值,则判断数值大小
验证某个字段的值的最小长度,例如:
'name' : 'min:5'
提示
如果验证的数据是数组/对象,则判断数组的长度。
如果验证的数据是字符串,则判断文本长度
如果验证的数据为数值,则判断数值大小
# 字段比较类
验证某个字段是否和另外一个字段的值一致,例如:
"user" : "require|confirm:reuser"
支持字段自动匹配验证规则,如user
和user_confirm
是自动相互验证的,只需要使用
"user" : "require|confirm"
会自动验证和user_confirm
进行字段比较是否一致,反之亦然。
验证某个字段是否和另外一个字段的值不一致,例如:
'name' : 'require|different:account'
需知
eq,egt,gt,elt,lt均为数值比较
验证是否等于某个值,例如:
'score' : 'eq:100'
'num' : '=:100'
'num' : 'same:100'
验证是否大于等于某个值,例如:
'score' : 'egt:60'
'num' : '>=:100'
验证是否大于某个值,例如:
'score' : 'gt:60'
'num' : '>:100'
验证是否小于等于某个值,例如:
'score' : 'elt:100'
'num' : '<=:100'
验证是否小于某个值,例如:
'score' : 'lt:100'
'num' : '<:100'
验证对比其他字段大小(数值大小对比),例如:
'price' : 'lt:market_price'
'price' : '<:market_price'
使用半角点.
来代表层次,不限制层级数
const userInfo = {
'name' : 'xieshao',
'info' : {
'age' : 18
}
}
const rule = {
"name" : 'require|eq:xieshao|<:info.age'
}