Thanks for the feedback! Much appreciated. I realised that in my JSP page(s) I had the
<html:hidden property="page" value="1"/> element declared before my form element: <html:form action="/WizardPage1Submit" focus="firstName"> The ordering of <html:form> first, with <html:hidden> nested inside would seem important and I guess, make sense - the hidden property page belongs to the form submitted to my DynaValidatorForm. I am now no longer getting the NullPointerException, but I am not picking up any validator errors - my wizard will move onto the second page without displaying any validation errors in the HTML. I'm also now getting a related SEVERE message in my catalina.out log: ----------------------------------------------- 29-Sep-2004 16:50:06 org.apache.struts.validator.DynaValidatorForm validate SEVERE: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Objec t, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest) org.apache.commons.validator.ValidatorException: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Objec t, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest) at org.apache.commons.validator.ValidatorAction.loadValidationMethod(Valida torAction.java:627) at org.apache.commons.validator.ValidatorAction.executeValidationMethod(Val idatorAction.java:557) at org.apache.commons.validator.Field.validateForRule(Field.java:811) at org.apache.commons.validator.Field.validate(Field.java:890) at org.apache.commons.validator.Form.validate(Form.java:174) at org.apache.commons.validator.Validator.validate(Validator.java:367) at org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm .java:112) at org.apache.struts.action.RequestProcessor.processValidate(RequestProcess or.java:921) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 206) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:237) at ----------------------------------------------- I've listed my complete wizardpage1.jsp file below. Again, any help would be much appreciated! Many Thanks, Mark. ----------------------------------------------- wizardpage1.jsp: <html:html> <head> <title><bean:message key="WizardPage1.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:messagesPresent> <bean:message key="WizardForm.validation.errors.header"/> <ul> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> </ul><hr> </logic:messagesPresent> <html:form action="/WizardPage1Submit" focus="firstName"> <html:hidden property="page" value="1"/> <TABLE border="0" width="100%"> <TR> <TH align="right"><bean:message key="WizardForm.firstName.displayname"/>:</TH> <TD align="left"><html:text property="firstName"/></TD> </TR> <TABLE align=center> <P> <HR> <TR> <TR align="left"> <TD align="left"><html:cancel property="cancel" value="Cancel"/></TD> <TD align="right"><html:submit value="Finish"/></TD> </TR> <TR align="right"> <TD align="left"><html:cancel property="back" value="Back"/></TD> <TD align="right"><html:submit value="Next"/></TD> </TR> </TABLE> </TABLE> </html:form> </body> --------------------------------------------------- -----Original Message----- From: Matt Bathje [mailto:[EMAIL PROTECTED] Sent: 29 September 2004 15:23 To: Struts Users Mailing List Subject: Re: Problems with Multi Page (wizard) Validation using DynaValidatorForm and the "page=" attribute Mark - not sure if this is your problem, but based on what you pasted in here, your JSP page is missing an <html:form element. I'm going to assume you snipped a bit more than what you said, but just in case... All of your code seems correct to me. The only other thing I think could possibly be wrong is if you have a separate "loader" action for your page 1 form, and that has the scope set to request instead of session. Sorry I wasn't more help, but figured some ideas are better than none. Matt Mark Songhurst wrote: > Hi! > > I'm having great pains getting DynaValidatorForm to validate only the > "page=" attributed field elements in my validation.xml file. > > It's the usual scenario: one DynaValidatorForm which is completed over > several JSP pages. > I want validation to occur as each page is submitted, using the > Validator plugin. > > However I receive the following NullPointerException when I submit the > first page of my wizard: > > 2004-09-29 14:30:28 StandardWrapperValve[action]: Servlet.service() for > servlet action threw exception > java.lang.NullPointerException > at > org.apache.struts.validator.DynaValidatorForm.setPageFromDynaProperty(Dy > naValidatorForm.java:142) > at > org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm > .java:99) > at > org.apache.struts.action.RequestProcessor.processValidate(RequestProcess > or.java:921) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: > 206) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) > at > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:237) > {snip} > > I am only attempting to get server side validation working at the > moment. My browser has JavaScript disabled. > I'm using Struts 1.2.4, I've not attempted to try this with Struts 1.1 > > I've added what I think are the relevant code snippets to the bottom of > this mail - longer snippets are available if needed! > > Please could anyone help, or point me to an online working example (with > source!) that can get me past my problems? > > Many Thanks in Advance, > > Mark. > > > > > --------------------------------------------------- > struts-config.xml: > > <form-beans> > > <!-- WizardForm form bean --> > <form-bean name="WizardForm" > type="org.apache.struts.validator.DynaValidatorForm"> > <form-property name="page" type="java.lang.Integer"/> > <form-property name="firstName" type="java.lang.String"/> > {snip} > > <!-- WizardPage1Submit --> > <action path="/WizardPage1Submit" > type="com.messagelabs.wizard.WizardBaseAction" > name="WizardForm" > input="/WEB-INF/web/WizardPage1.jsp" > scope="session" > validate="true"> > <forward name="success" path="/WEB-INF/web/WizardPage2.jsp"/> > </action> > > {snip} > --------------------------------------------------- > > --------------------------------------------------- > validation.xml: > > <formset> > <form name="WizardForm"> > <field property="firstName" > depends="required,maxlength" > page="1"> > <arg0 key="WizardForm.firstName.displayname"/> > <arg1 key="${var:maxlength}" name="maxlength" > resource="false"/> > <var> > <var-name>maxlength</var-name> > <var-value>64</var-value> > </var> > </field> > {snip} > --------------------------------------------------- > > --------------------------------------------------- > wizardpage1.jsp: > > <%@ page contentType="text/html;charset=UTF-8" language="java" %> > <%@ taglib uri="/tags/struts-bean" prefix="bean" %> > <%@ taglib uri="/tags/struts-html" prefix="html" %> > <%@ taglib uri="/tags/struts-logic" prefix="logic" %> > > <html:html> > <head> > <title><bean:message key="WizardPage1.title"/></title> > <html:base/> > </head> > <body bgcolor="white"> > > <html:hidden property="page" value="1"/> > > {snip} > --------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]