<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator Config 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">
<!-- START SNIPPET: validators-default -->
<validators>
<validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
<validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
<validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
<validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
<validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
<validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
<validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
<validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
<validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
<validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
<validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
<validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
<validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
<validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
<validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
<validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>
<!-- END SNIPPET: validators-default -->
10.4.2类型转换错误验证器(conversion)
conversion验证器用来验证类型转换时是否出错。如果一个类型为int的参数接到了“18a”这个字符串,conversion验证器就会报错。
conversion验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.3整数验证器(int)
int验证器用来验证一个整数型参数是否在指定的范围内。如果一个已经被成功转换为int的属性不在验证器指定的范围内,int验证器就会报错。
int验证器可以有两个参数:
- min用来指定可接受范围的最小值。
- max用来指定可接收范围的最大值。
注意:conversion验证器验证的是参数能不能被正确转化为整数,int验证器是在参数已经被正确的转化为整数之后,再考察它的范围。因此,如果想限制年龄文本框填入整数类型的数字,并且在18岁以上,需要先引用conversion验证器检查用户填入的是否是一个整数,然后再引用int验证器来检查用户填入的年龄是否大于等于18。
int验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.4短整数验证器(short)和长整数验证器(long)
short验证器和long验证器与int验证器非常相似,都是用来验证参数是否在指定范围之内,就不去赘述了。
short验证器和long验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.5日期验证器(date)
date验证器用来验证一个日期型参数是否在指定的范围内。如果一个已经被成功转换为date的属性不在验证器指定的范围内,date验证器就会报错。
date验证器可以有两个参数:
- min用来指定可接受范围的最小值。
- max用来指定可接收范围的最大值。
注意:指定日期范围的时候,需要使用统一的格式,比如用MM/DD/YYYY的格式等。
date验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.6双精度浮点验证器(double)
double验证器用来验证一个双精度浮点型参数是否在指定的范围内。如果一个已经被成功转换为double的属性不在验证器指定的范围内,double验证器就会报错。
double验证器可以有四个参数:
- minInclusive用来指定可接受范围的最小值,包含给定值。
- maxInclusive用来指定可接收范围的最大值,包含给定值。
- minExclusive用来指定可接受范围的最小值,不包含给定值。
- maxExclusive用来指定可接收范围的最大值,不包含给定值。
double验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.7邮件验证器(email)
email验证器用来验证一个参数是否为邮箱地址。
email验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.8 URL验证器(url)
url验证器用来验证一个参数是否为合法的URL。
url验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.9必填验证器(required)
required验证器用来验证一个参数是否不为null。
required验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.10必填字符串验证器(requiredstring)
requiredstring验证器用来验证一个字符串参数是否非空,既不为null,且长度大于0。
requiredstring验证器只有一个参数:
- trim:是否去掉字符串两边的空白,默认为true。
requiredstring验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.11字符串长度验证器(stringlength)
stringlength验证器用来验证一个字符串的长度是否在指定范围内。
stringlength验证器有三个参数:
- maxLength:字符串长度的最大值。
- minLength:字符串长度的最小值。
- trim:是否去掉字符串两边的空白,默认为true。
stringlength验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.12正则表达式验证器(regex)
regex验证器用来验证一个字符串是否符合一个正则表达式的要求。
regex验证器有三个参数:
- expression:必填参数,正则表达式。
- caseSensitive:是否检查大小写。
- trim:是否去掉字符串两边的空白,默认为true。
regex验证器既可以用于字段验证器,又可以用于动作验证器。
10.4.13字段表达式验证器(fieldexpression)和表达式验证器(expression)
fieldexpression验证器中必须指定一个返回布尔值的ognl表达式,根据这个表达式的值来确定是否符合条件。
fieldexpression验证器只有一个参数:
- expression:返回布尔值的ognl表达式,可以在这个ognl表达式中访问当前的值栈。
regex验证器既可以用于字段验证器,又可以用于动作验证器。
表达式验证器(expression)与字段表达式验证器(fieldexpression)类似,同样使用expression参数来指定返回布尔值的ognl表达式,但是,只能用于动作验证器。
10.4.14访问者验证器(visitor)
visitor验证器用于验证Action中的复合属性,可以直接把验证信息放到域对象中去注册,这样就使得同包内的不同Action在验证同一个域对象时,不用注册重复的验证信息。
vistior验证器有两个属性:
- context:引用的域对象验证信息文件上下文名。
- appendPrefix:是否在错误信息中添加<message>元素指定的前缀。