10.4 注解方式下实现用户输入验证
10.4.1 注解方式下用户输入验证的实现
10.4.2 基于注解的验证语法
10.4.3内置注解验证
校验器名称
|
作用
|
级别
|
RequiredFieldValidator
|
必填校验器
|
方法级
|
RequiredStringValidator
|
必填字符串校验器
|
方法级
|
IntRangeFieldValidator
|
整型范围校验器
|
方法级
|
DoubleRangeFieldValidator
|
双精度浮点型范围校验器
|
方法级
|
DateRangeFieldValidator
|
日期型校验器
|
方法级
|
ExpressionValidator
|
表达式校验器
|
方法级
|
FieldExpressionValidator
|
字段表达式校验器
|
方法级
|
EmailValidator
|
电子邮件校验器
|
方法级
|
UrlValidator
|
网址校验器
|
方法级
|
VisitorFieldValidator
|
Visitor校验器
|
方法级
|
ConversionErrorFieldValidator
|
转换校验器
|
方法级
|
StringLengthFieldValidator
|
字符串长度校验器
|
方法级
|
RegexFieldValidator
|
正则表达式校验器
|
方法级
|
CustomValidator
|
自定义验证器
|
方法级或者类级
|
Validations
|
一个方法使用相同类型的多个注解时使用
|
方法级
|
Validation
|
类或接口的验证规则
|
类级(已过时)
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
trim
|
否
|
true
|
在进行验证规则前,是否要去掉字符串的首尾空格
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
min
|
否
|
|
整数的最小值
|
max
|
否
|
|
整数的最大值
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
minInclusive
|
否
|
|
Double类型可包含的最小值
|
maxInclusive
|
否
|
|
Double类型可包含的最大值
|
minExclusive
|
否
|
|
Double类型不包含的最小值
|
maxExclusive
|
否
|
|
Double类型不包含的最大值
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
min
|
否
|
|
日期的最小值
|
max
|
否
|
|
日期的最大值
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
expression
|
是
|
|
用于验证的OGNL表达式,该表达式的结果为Boolean类型
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
expression
|
是
|
|
用于验证的OGNL表达式,该表达式的结果为Boolean类型
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
context
|
否
|
Action的别名
|
指定验证发生的上下文
|
appendPrefix
|
否
|
true
|
制定是否要添加字段前缀
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
trim
|
否
|
true
|
Boolean类型值。判断字符串长度前是否先去掉前后空格。
|
minLength
|
否
|
|
整数值,字符串长度的最小长度值
|
maxLength
|
否
|
|
整数值,字符串长度的最大长度值
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
expression
|
是
|
|
用于验证的正则表达式
|
参数名
|
是否必须
|
缺省值
|
说明
|
message
|
是
|
|
字段错误信息
|
key
|
否
|
|
从特定的Properties文件中获取文本的i18n的Key值
|
fieldname
|
否
|
|
字段名称
|
shortCircuit
|
否
|
false
|
是否用于短路操作
|
type
|
是
|
ValidatorType.FIELD
|
枚举值,可以是FIELD或SIMPLE
|
参数名
|
是否必须
|
缺省值
|
说明
|
requiredFields
|
否
|
|
添加RequiredFieldValidators集合
|
customValidators
|
否
|
|
添加CustomValidators集合
|
conversionErrorFields
|
否
|
|
添加ConversionErrorFieldValidators集合
|
dateRangeFields
|
否
|
|
添加DateRangeFieldValidators集合
|
emails
|
否
|
|
添加EmailValidators集合
|
fieldExpressions
|
否
|
|
添加FieldExpressionValidators集合
|
intRangeFields
|
否
|
|
添加IntRangeFieldValidators集合
|
requiredStrings
|
否
|
|
添加RequiredStringValidators集合
|
stringLengthFields
|
否
|
|
添加StringLengthFieldValidators集合
|
urls
|
否
|
|
添加UrlValidators集合
|
visitorFields
|
否
|
|
添加VisitorFieldValidators集合
|
regexFields
|
否
|
|
添加RegexFieldValidator集合
|
expressions
|
否
|
|
添加RegexFieldValidator集合
|