系统内置了一些常用的验证规则,可以完成大部分场景的验证需求:
> 验证规则严格区分大小写
## 格式验证类
>[info]### require
验证某个字段必须,例如:
~~~
'name':'require'
~~~
>[danger]如果验证规则没有添加`require`就表示没有值的话不进行验证
>[info]### number
验证某个字段的值是否为纯数字字符串,例如:
~~~
'num':'number'
~~~
>[info] ### mail
验证某个字段的值是否为mail地址,例如:
~~~
'mail':'mail'
~~~
>[info] ### array
验证某个字段的值是否为数组,例如:
~~~
'info':'array'
~~~
>[info] ### chs
验证某个字段的值只能是汉字,例如:
~~~
'name':'chs'
~~~
>[info] ### chsAlpha
验证某个字段的值只能是汉字、字母,例如:
~~~
'name':'chsAlpha'
~~~
>[info] ### chsAlphaNum
验证某个字段的值只能是汉字、字母和数字,例如:
~~~
'name':'chsAlphaNum'
~~~
>[info] ### alphaNum
验证某个字段的值是否为字母和数字,下划线`_`及破折号`-`,例如:
~~~
'name':'alphaNum'
~~~
>[info] ### chsDash
验证某个字段的值只能是汉字、字母、数字和下划线\_及破折号-,例如:
~~~
'name':'chsDash'
~~~
>[info] ### mobile
验证某个字段的值是否为有效的手机,例如:
~~~
'mobile':'mobile'
~~~
>[info] ### idCard
验证某个字段的值是否为有效的身份证格式,例如:
~~~
'id_card':'idCard'
~~~
## 长度和区间验证类
>[info] ### in
验证某个字段的值是否在某个范围
~~~
'num':'in:1,2,3',
~~~
>[info] ### notIn
验证某个字段的值不在某个范围
~~~
'num':'notIn:1,2,3',
~~~
>[info] ### between
验证某个字段的值是否在某个区间,例如:
~~~
'num':'between:1,10'
~~~
>[info] ### notBetween
验证某个字段的值不在某个范围,例如:
~~~
'num'=>'notBetween:1,10'
~~~
>[info] ### length:num1,num2
验证某个字段的值的长度是否在某个范围,例如:
~~~
'name'=>'length:4,25'
~~~
或者指定长度
~~~
'name'=>'length:4'
~~~
>[info] 如果验证的数据是数组,则判断数组的长度。
> 如果验证的数据是数值,则把数值转为字符串进行判断
>[info] ### max:number
验证某个字段的值的最大长度,例如:
~~~
'name'=>'max:25'
~~~
>[info] 如果验证的数据是数组/对象,则判断数组的长度。
> 如果验证的数据是字符串,则判断文本长度
> 如果验证的数据为数值,则判断数值大小
>[info] ### min:number
验证某个字段的值的最小长度,例如:
~~~
'name'=>'min:5'
~~~
>[info]如果验证的数据是数组/对象,则判断数组的长度。
> 如果验证的数据是字符串,则判断文本长度
> 如果验证的数据为数值,则判断数值大小
>[info]creaditCode
判断是否为有效的统一社会信用代码
~~~
'name'=>'creaditCode'
~~~
>[info]integer
通过正则方式来判断是否为有效的整数
~~~
'name'=>'integer'
~~~
>[info]decimal
通过正则方式来判断是否为有效的小数
~~~
'name'=>'decimal'
~~~
>[info]file
判断是否为有效的文件对象
~~~
'name'=>'file'
~~~
>[info]ipV4
判断是否IpV4
~~~
'name'=>'ipV4'
~~~
>[info] string
判断是否字符串类型
~~~
'name'=>'string'
~~~
>[info] url
判断是否为合法Url
~~~
'name'=>'url'
~~~
>[info] lower
判断字段是否为小写字母
~~~
'name'=>'lower'
~~~
>[info] upper
判断字段是否为大写字母
~~~
'name'=>'upper'
~~~
>[info] alpha
判断字段是否为纯字母
~~~
'name'=>'alpha'
~~~
>[info] amount
判断字段是否为金额格式,最多保留两位小数点
~~~
'name'=>'amount'
~~~