Доброго времени суток! Совсем запуталась с валидацией. Помогите, пожалуйста, найти ошибки. MytestAction.java Код | public class MytestAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MytestForm theForm = (MytestForm) form; ActionErrors error = theForm.validate(mapping,request);
if (error.isEmpty()){ String userName = theForm.getName(); request.setAttribute("theName", userName); return mapping.findForward("display"); } else return mapping.findForward("input"); } }
|
MytestForm.java Код | public class MytestForm extends ActionForm {
protected String name; protected String password;
public void setName(String name){ this.name = name; }
public void setPassword(String password){ this.password = password; }
public String getName(){ return name; }
public String getPassword(){ return password; }
public ActionErrors validate( ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = super.validate(mapping, request);
if (this.getName().equals("")) errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errors.enterName")); if (this.getPassword().equals("")) errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errors.enterPassword"));
return errors; } }
|
validation.xml Код | <form-validation> <formset> <form name="mytestForm"> <field property="name" depends="required,maxlength,minlength"> <arg name="required" key="errors.required"/> <arg name="minlength" key="errors.minlength"/> <arg name="maxlength" key="errors.maxlength"/> <var> <var-name>minlength</var-name> <var-value>3</var-value> </var> <var> <var-name>maxlength</var-name> <var-value>10</var-value> </var> </field>
<field property="password" depends="required,maxlength,minlength,validwhen"> <arg name="required" key="errors.required"/> <arg name="minlength" key="errors.minlength"/> <arg name="maxlength" key="errors.maxlength"/> <arg name="validwhen" key="errors.bedpassword"/> <var> <var-name>minlength</var-name> <var-value>3</var-value> </var> <var> <var-name>maxlength</var-name> <var-value>10</var-value> </var> <var> <var-name>test</var-name> <var-value>(password == "mypassword")</var-value> </var>
</field> </form> </formset> </form-validation>
|
struts-config.xml Код | <struts-config>
<form-beans> <form-bean name="mytestForm" type="mypackage.MytestForm"/> </form-beans>
<action-mappings>
<action path="/welcome" forward="/welcome.jsp"/>
<action path="/mytest" forward="/mytest/mytest.jsp"/>
<action path="/mytest-submit" type="mypackage.MytestAction" name="mytestForm" scope="request" validate="false" input="mytest"> <forward name="mytest" path="/mytest.do"/> <forward name="display" path="/mytest/display.jsp"/> </action>
</action-mappings>
<message-resources parameter="mypackage.MytestResources"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validation.xml, /WEB-INF/validator-rules.xml"/> </plug-in> </struts-config>
|
|