我正在学习struts表单验证。我有两个带有电子邮件地址的字段,我想检查它们是否都有相同的域名地址
例如。 user1@gmail.com
和user2@yahoo.com
应该error
而user1@gmail.com
和user2@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>
答案 0 :(得分:0)
在您的Struts表单类(扩展ActionForm
)中,覆盖validate
方法并验证您的email1
和email2
字段。如果字段匹配,则返回null
或返回ActionErrors
(请参阅此example)。
Struts 1.x XML验证配置专为字段验证而设计。我还没有看到它用于交叉验证(至今)。