校验器
Venus自带13种校验器,在通常的使用情况下,这些校验器已经能满足大部分的需求,这些校验器功能如下:
Class | Function | Properties | Target | Annotation | Type In Config |
---|---|---|---|---|---|
DateRangeFieldValidator |
验证日期类型是否满足区间 |
|
|
@DateRange |
date |
DoubleRangeFieldValidator |
验证double类型大小 |
|
|
@DoubleRange |
double |
EmailValidator |
验证参数是否为email地址 |
|
@Email |
email |
|
ExpressionValidator |
验证所有参数是否满足表达式 |
|
|
@Expression |
expression |
FieldExpressionValidator |
验证某个参数是否满足表达式 |
|
|
@Expression |
fieldexpression |
IntRangeFieldValidator |
验证int类型大小 |
|
|
@IntRange |
int |
LongRangeFieldValidator |
验证long类型大小 |
|
|
@LongRange |
long |
RegexFieldValidator |
验证字符串是否满足正则表达式 |
|
|
@Regex |
regex |
RequiredFieldValidator |
验证该参数是否不为空 |
|
@Required |
required |
|
RequiredStringValidator |
验证该参数是否为字符串 |
|
@RequiredString |
requiredstring |
|
StringLengthFieldValidator |
验证该字符串是否满足长 |
|
|
@RequiredString |
stringlength |
URLValidator |
验证改字符串是否为url |
|
@URL |
url |
|
VisitorFieldValidator |
验证该类型(读取其特定类型的验证器,并且做更深一层的验证) |
|
|
@Visitor |
visitor |
目前,venus的参数校验有xml配置以及annotation的方式,分别如下:
配置校验器
使用validator xml文件配置校验器
Service Example
@Service public interface ServiceExample { @Endpoint public boolean testDateRange(@Param(name="dateValue") Date date); }
Validator Configuration
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators SYSTEM "venus-validator-1.0.0.dtd"> <validators> <field name="dateValue"> <field-validator type="date"> <property name="min">2011-01-01</property> <property name="max">2011-03-03</property> </field-validator> </field> </validators>
使用annotation配置校验器
Service Example with Annotation Validator
@Service public interface ServiceExampleTestAnnotation { @Endpoint public boolean testDateRange( @Param(name="dateValue") @DateRange(min = "2011-01-01", max = "2011-03-03",format="yyyy-MM-dd") Date date); }
添加评论