struts自定义验证,比较两个字段

时间:2015-03-12 09:04:18

标签: validation struts-1

我正在学习struts表单验证。我有两个带有电子邮件地址的字段,我想检查它们是否都有相同的域名地址 例如。 user1@gmail.comuser2@yahoo.com应该erroruser1@gmail.comuser2@gmail.com应该是success

我正在阅读很多文章,大多数文章都提供了关于单个字段自定义验证的见解,而不是在多个字段上。
上述案例的最佳方法是什么 1.更新:此代码是否有效,以及如何添加域检查

<field property="email1" 
              depends="email"> 
</field> 
<field property="email2" 
         depends="validwhen,email2"> 
     <arg0 name="validwhen" key="form.email1"/> 
     <arg1 name="validwhen" key="form.email2"/> 
     <arg0 name="email" key="email2"/> 
     <var> 
         <var-name>domain_check</var-name> 
             <var-value> (( * this * != null ) 
                      and ( * this * == email1 ))  </var-value> 
     </var> 
</field>

1 个答案:

答案 0 :(得分:0)

在您的Struts表单类(扩展ActionForm)中,覆盖validate方法并验证您的email1email2字段。如果字段匹配,则返回null或返回ActionErrors(请参阅此example)。

Struts 1.x XML验证配置专为字段验证而设计。我还没有看到它用于交叉验证(至今)。