2013-10-04 119 views
0

我有以下问题:我们可以在Struts 1.2中使用Form和xml验证吗?

我们有一个Struts应用程序。基本上它使用xml验证来验证字段。 我添加了表单验证,以一次验证一组复选框(没有找到一种方法来验证,至少在复选框的选择,但这是一个其他故事...)。

所以我的表单验证工作,但xml验证不再有效。但是,当我删除我添加的表单验证,它再次工作。

总括:

1-只有XML验证:工作 2-唯一形式验证:工作 3- XML和表单验证为相同的动作:只有表单验证工作。

我们可以在一个动作上使用两种验证吗?

Tx

回答

0

最后我自己找到了问题的根源!

它与验证顺序的关系: 在我而言,Struts的与XML验证,并把结果存储到开始一个全局对象

的ActionErrorshttp://struts.apache.org/release/1.2.x/api/org/apache/struts/action/ActionErrors.html

...之后,搭片执行验证()方法i的形式加入,但是在i行具有以下行:

ActionErrors errors = new ActionErrors() ; 

...将取代全局ActionErrors对象。

正确codeof Form中的validate()方法必须是:

ActionErrors errors = super.validate(mapping, request); 
if (errors == null) { 
errors = new ActionErrors(); 
} 

..这样,我们可以保持已由XML验证发现的错误,我们不更换。

相关问题