我试图验证使用struts验证框架的表单,但验证似乎被绕过。我在validation.xml中设置了所有验证。Struts验证框架不起作用
我也有一些自定义表单验证在窗体的validate()
方法运行良好。
我已经设置在动作映射validate="false"
和行动的doPerform()
显式调用形式的validate我对Struts的1
下面是一些代码:
里面的动作
if(validationPassed(changeForm, mapping, request)){
if(!(changeForm.getResultAction().equals("add")))
if(!businessValidationsPassed(changeForm, request))
errorFlag = true;
}
else{
errorFlag = true;
}
private boolean validationPassed(MultiChangeForm form, ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = form.validate(mapping, request);
if (!errors.isEmpty()) {
saveErrors(request, errors);
return false;
}
else
return true;
}
个
struts-config.xml中
<action path="/multiController"
type="com.multi.action.MultiControllerAction"
name="MultiChangeForm"
scope="session"
input="multiUpdateResult.def"
validate="false">
<forward name="success" path="/forward/initProcess/cam/multiUpdateResultDef.do"/>
<forward name="failure" path="/forward/initProcess/cam/multiUpdateResultDef.do"/>
<forward name="error" path="/forward/initProcess/cam/errorDef.do"/>
</action>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/multi/validator-rules.xml,/WEB-INF/multi/validation.xml"/>
</plug-in>
形式的validate()
ActionErrors errors = super.validate(actionMapping, request);
// custom validations: running ok
我缺少的东西在这里?任何想法都会非常棒。
感谢
萨赫勒
你说的验证都运行良好 - 什么,然后,究竟发生了什么? –
其实在验证()中的验证运行良好。但是validation.xml中的那些不是。 –