. 参数校验

转至元数据结尾
转至元数据起始

校验器

Venus自带13种校验器,在通常的使用情况下,这些校验器已经能满足大部分的需求,这些校验器功能如下:

Class Function Properties Target Annotation Type In Config
DateRangeFieldValidator
验证日期类型是否满足区间
  • max 最大日期
  • min 最小日期
  • param
  • field
@DateRange
date
DoubleRangeFieldValidator
验证double类型大小
  • maxInclusive 最大包含
  • minInclusive 最小包含
  • minExclusive 最小不包含
  • maxExclusive 最大包含
  • param
  • field
@DoubleRange
double
EmailValidator
验证参数是否为email地址  
  • param
  • field
@Email
email
ExpressionValidator
验证所有参数是否满足表达式
  •  expression 表达式(比如 a=1 && b=2)
  • all param
  • specified object
@Expression
expression
FieldExpressionValidator
验证某个参数是否满足表达式
  •  expression 表达式
  • param
  • field
@Expression
fieldexpression
IntRangeFieldValidator
验证int类型大小
  • max 最大值
  • min 最小值
  • param
  • field
@IntRange
int
LongRangeFieldValidator
验证long类型大小
  • max 最大值
  • min 最小值
  • param
  • field
@LongRange
long
RegexFieldValidator
验证字符串是否满足正则表达式
  •  expression 正则表达式
  • param
  • field
@Regex
regex
RequiredFieldValidator
验证该参数是否不为空  
  • param
  • field
@Required
required
RequiredStringValidator
验证该参数是否为字符串  
  • param
  • field
@RequiredString
requiredstring
StringLengthFieldValidator
验证该字符串是否满足长
  • maxLength 最大长度
  • minLength 最小长度
  • doTrim 是否截短字符串(去除空格等字符)
  • param
  • field
@RequiredString
stringlength
URLValidator
验证改字符串是否为url  
  • param
  • field
@URL
url
VisitorFieldValidator
验证该类型(读取其特定类型的验证器,并且做更深一层的验证)
  •  path 子校验配置的路径(仅对文件配置有效)
  • param
  • field
@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);
}

添加自定义的校验器

Enter labels to add to this page:
Please wait 
查找标签? 在此录入。