Я пытаюсь проверить форму с помощью структуры проверки Struts, но проверка, похоже, обходит стороной. У меня есть все настройки валидации в validation.xml.
У меня также есть несколько пользовательских проверок формы в методе validate()
формы, которые работают нормально.
Я установил validate="false"
в отображении действия и вызвал проверку формы явно из действия doPerform()
Я на 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;
}
распорка-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>
проверка формы ()
ActionErrors errors = super.validate(actionMapping, request);
// custom validations: running ok
Я что-то упустил здесь? Любые идеи были бы действительно хороши.
Спасибо
Сахил