什么是短路验证


需要那个验证器做短路验证,就在那个那个验证器中添加属性 short-circuit="false" 

什么是短路验证_第1张图片

示例如下:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

所有类,国际化资源文件,页面,仅需修改 配置 中的 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 类型转换错误的提示

什么是短路验证_第2张图片


再来看一下 debug

什么是短路验证_第3张图片


里面也没有age是否符合1-130 的错误提示  这就是短路验证的魅力!

你可能感兴趣的:(什么是短路验证)