概念
输入
输入就是待校验的对象,将会被应用到后面的规则中进行判断,也是val函数的第一个参数。
Rebb Val
支持以下数据类型:
输入对象的类型
布尔型 Boolean
数字型 Number
包括整形,长整型,浮点型,高精度浮点型,在Java实现中,内部都会转换成BigDecimal类型来处理。
日期型 Date
在Java中,输入可以是一个java.uitl.Date
类型
字符串型 String
规则
规则就是一个字符串,但是必须符合RebbVal的语法,是val
函数的第二个参数
支持的语法如下:
比较: =, !=, >,<,>=,<=
范围:between .. and ..
区间:interval,如[a..b],(a..b),[a..b),(a..b]
在数组内:in (array)
包含:contains
不为空:not empty
最大长度:max length
是否满足:is (true, false, phone, email, ipv4,url, ect.)
自定义判断:is (custom function)
匹配正则:match (regex)
年龄大于/小于:older than/younger than
以...开始/结束:starts with/ends with
可以使用not
操作来反转规则
可以用and
和or来组合规则
规则中的数据类型
数组 array
布尔 boolean
数字 number
日期 date
正则表达式 regex
字符串 string
结果
val
函数的结果是一个布尔型。
如果结果是true
,说明输入对象通过了所有的规则校验,否则可以通过调用 getErrors
方法来获取所有校验失败的详细信息。
错误
如果val
函数返回false
,或者hasError
函数返回true
,那就代表有错误,验证失败。
可以调用getErrors函数来获取具体的错误信息,返回值是一个字符串数组(在Java实现中,是一个ArrayList<String>)。
自定义验证器
先来看一下 com.rebb.valid.IValidator
接口
可以看到这个接口只有一个返回值为布尔值run
方法,写一个类来实现IValidator接口,就可以实现一个自定义验证器
初始化 RebbVal
对象之后, 调用 registerCustomValidator
方法来注册自定义验证器
时区
当我们处理日期时间的时候,时区永远是我们第一个要考虑的,我们可以像下面这样设置时区:
Last updated
Was this helpful?