需要那个验证器做短路验证,就在那个那个验证器中添加属性 short-circuit="false"
示例如下:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
所有类,国际化资源文件,页面,仅需修改 配置 中的 TestAgeValidation-validation.xml 如下
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="age">
<!-- 类型转换验证 -->
<field-validator type="conversion" short-circuit="false" >
<message>类型转换错误!</message>
</field-validator>
<!--
看看添加了短路验证 short-circuit="false"
若类型转换错误的时候,还会不会进行下面的 int整型验证
-->
<field-validator type="int" short-circuit="false">
<param name="min">1</param>
<param name="max">130</param>
<message key="error.int"></message>
</field-validator>
</field>
</validators>
仅提示类型转换错误 而没有再向下去检验age 是否是 int 类型,也没有出现int 类型转换错误的提示
再来看一下 debug
里面也没有age是否符合1-130 的错误提示 这就是短路验证的魅力!