需要那个验证器做短路验证,就在那个那个验证器中添加属性 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 的错误提示 这就是短路验证的魅力!
Struts短路验证配置
本文介绍如何在Struts框架中使用短路验证功能。通过设置验证器的short-circuit属性为false,即使前面的验证失败,也会继续执行后续验证。示例展示了年龄字段的类型转换及整数范围验证配置。
2万+

被折叠的 条评论
为什么被折叠?



