Problem was the struts jar and validator-rules.xml were out of sync. On 8/12/05, David McReynolds <[EMAIL PROTECTED]> wrote: > My app is throwing a method not found exception. I've run it through > the debugger and verified. The code snippet below is from commons > ValidatorAction. It blows up on the getMethod call. > > private void loadValidationMethod() throws ValidatorException { > if (this.validationMethod != null) { > return; > } > > try { > this.validationMethod = > this.validationClass.getMethod(this.method, > this.parameterClasses); > > } catch (NoSuchMethodException e) { > throw new ValidatorException(e.getMessage()); > } > } > > > Struts config partial: > <form-beans> > <form-bean name="getUserNameForm" > type="org.dlm.struts.form.GetUserNameForm" /> > <form-bean name="getUserAgeForm" > type="org.dlm.struts.form.GetUserAgeForm" /> > </form-beans> > > > <action > input="/WEB-INF/pages/form/getUserName.jsp" > name="getUserNameForm" > path="/getUserName" scope="request" validate="true" > type="org.dlm.struts.action.GetUserNameAction"> > <forward name="success" > path="/WEB-INF/pages/forwards/setUser.jsp" /> > <forward name="load" > path="/WEB-INF/pages/form/getUserName.jsp" /> > <forward name="error" > path="/WEB-INF/pages/form/getUserName.jsp"/> > </action> > > > <plug-in className="org.apache.struts.plugins.ModuleConfigVerifier" /> > <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> > <set-property property="pathnames" > > value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /> > <set-property property="stopOnFirstError" value="false" /> > </plug-in> > > > > validation.xml complete > <form-validation> > <formset> > <form name="getUserNameForm"> > <field property="userName" depends="required"> > <arg key="getUserNameForm.userName"/> > </field> > </form> > </formset> > </form-validation> > > On 8/11/05, Taylor, Kevin <[EMAIL PROTECTED]> wrote: > > Generally the validator errors are converted into ActionErrors and > > displayed in the JSP with the html:errors tag. This could be handled > > numerous ways, e.g. in the Action class or ActionForm. > > > > > Kevin Taylor > > > > > > -----Original Message----- > > > From: David McReynolds [SMTP:[EMAIL PROTECTED] > > > Sent: Thursday, August 11, 2005 1:45 PM > > > To: Struts Users Mailing List > > > Subject: Re: valuator newbie > > > > > > okay. I was under the impression that the user would not have access > > > to the log files. This exception is the only indication that > > > something went wrong. What needs to happen to get a message back to > > > the user? > > > > > > On 8/11/05, Taylor, Kevin <[EMAIL PROTECTED]> wrote: > > > > This is caused by a "required" field being left empty on the form. > > > > > > > > > Kevin Taylor > > > > > > > > > > -----Original Message----- > > > > > From: David McReynolds [SMTP:[EMAIL PROTECTED] > > > > > Sent: Thursday, August 11, 2005 12:55 PM > > > > > To: StrutsUserList > > > > > Subject: validator newbie > > > > > > > > > > If inherited some code. I'm not sure what its trying to tell me. The > > > > > user is simpley forwarded on to the next page and there is no > > > > > indication of a problem other than this logged exception. > > > > > > > > > > [11 Aug 2005 13:38:42,886] [org.apache.struts.validator.ValidatorForm] > > > > > [ERROR] validateRequired > > > > > org.apache.commons.validator.ValidatorException: validateRequired > > > > > at > > > > > org.apache.commons.validator.ValidatorAction.loadValidationMethod()V(ValidatorAction.java:627) > > > > > at > > > > > org.apache.commons.validator.ValidatorAction.executeValidationMethod(Lorg.apache.commons.validator.Field;Ljava.util.Map;L > > > > > org.apache.commons.validator.ValidatorResults;I)Z(ValidatorAction.java:557) > > > > > at > > > > > org.apache.commons.validator.Field.validateForRule(Lorg.apache.commons.validator.ValidatorAction;Lorg.apache.commons.vali > > > > > dator.ValidatorResults;Ljava.util.Map;Ljava.util.Map;I)Z(Field.java:811) > > > > > at > > > > > org.apache.commons.validator.Field.validate(Ljava.util.Map;Ljava.util.Map;)Lorg.apache.commons.validator.ValidatorResults > > > > > ;(Field.java:890) > > > > > at > > > > > org.apache.commons.validator.Form.validate(Ljava.util.Map;Ljava.util.Map;I)Lorg.apache.commons.validator.ValidatorResults > > > > > ;(Form.java:174) > > > > > at > > > > > org.apache.commons.validator.Validator.validate()Lorg.apache.commons.validator.ValidatorResults;(Validator.java:367) > > > > > at > > > > > org.apache.struts.validator.ValidatorForm.validate(Lorg.apache.struts.action.ActionMapping;Ljavax.servlet.http.HttpServle > > > > > tRequest;)Lorg.apache.struts.action.ActionErrors;(ValidatorForm.java:112) > > > > > at > > > > > org.apache.struts.action.RequestProcessor.processValidate(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.Http > > > > > ServletResponse;Lorg.apache.struts.action.ActionForm;Lorg.apache.struts.action.ActionMapping;)Z(RequestProcessor.java:921) > > > > > at > > > > > org.apache.struts.action.RequestProcessor.process(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletR > > > > > esponse;)V(RequestProcessor.java:206) > > > > > at > > > > > org.apache.struts.action.ActionServlet.process(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResp > > > > > onse;)V(ActionServlet.java:1164) > > > > > at > > > > > org.apache.struts.action.ActionServlet.doPost(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletRespo > > > > > nse;)V(ActionServlet.java:415) > > > > > at > > > > > javax.servlet.http.HttpServlet.service(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V( > > > > > HttpServlet.java:717) > > > > > at > > > > > javax.servlet.http.HttpServlet.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(HttpServlet.java:8 > > > > > 10) > > > > > at > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResp > > > > > onse;)V(ApplicationFilterChain.java:237)> > > > > > at > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V( > > > > > ApplicationFilterChain.java:157) > > > > > at > > > > > com.cfa.apps.applicantweb.action.ActionFilter.doFilter(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpSer > > > > > vletResponse;Ljavax.servlet.FilterChain;)V(ActionFilter.java:71) > > > > > at > > > > > com.cfa.apps.applicantweb.action.ActionFilter.doFilter(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Ljava > > > > > x.servlet.FilterChain;)V(ActionFilter.java:55) > > > > > at > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResp > > > > > onse;)V(ApplicationFilterChain.java:186) > > > > > at > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(> > > > > > ApplicationFilterChain.java:157) > > > > > at > > > > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Ljav > > > > > ax.servlet.FilterChain;)V(ReplyHeaderFilter.java:75) > > > > > at > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResp > > > > > onse;)V(ApplicationFilterChain.java:186) > > > > > at > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V( > > > > > ApplicationFilterChain.java:157) > > > > > at > > > > > org.apache.catalina.core.StandardWrapperValve.invoke(Lorg.apache.catalina.Request;Lorg.apache.catalina.Response;Lorg.apac > > > > > he.catalina.ValveContext;)V(StandardWrapperValve.java:214) > > > > > at > > > > > org.apache.catalina.core.StandardValveContext.invokeNext(Lorg.apache.catalina.Request;Lorg.apache.catalina.Response;)V(St > > > > > andardValveContext.java:104) > > > > > at > > > > > org.apache.catalina.core.StandardPipeline.invoke(Lorg.apache.catalina.Request;Lorg.apache.catalina.Response;)V(StandardPi > > > > > peline.java:520) > > > > > at > > > > > org.apache.catalina.core.StandardContextValve.invokeInternal(Lorg.apache.catalina.Wrapper;Lorg.apache.catalina.Request;Lo > > > > > rg.apache.catalina.Response;)V(StandardContextValve.java:198) > > > > > at > > > > > org.apache.catalina.core.StandardContextValve.invoke(Lorg.apache.catalina.Request;Lorg.apache.catalina.Response;Lorg.apac > > > > > he.catalina.ValveContext;)V(StandardContextValve.java:152) > > > > > at > > > > > org.apache.catalina.core.StandardValveContext.invokeNext(Lorg.apache.catalina.Request;Lorg.apache.catalina.Response;)V(St > > > > > andardValveContext.java:104) > > > > > at > > > > > org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(Lorg.apache.catalina.Request;Lorg.apache.catalina.Response;Lorg > > > > > .apache.catalina.ValveContext;)V(CustomPrincipalValve.java:66) > > > > > at > > > > > org.apache.catalina.core.StandardValveContext.invokeNext(Lorg.apache.catalina.Request;Lorg.apache.catalina.Response;)V(St > > > > > andardValveContext.java:102) > > > > > at > > > > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Lorg.apache.catalina.Request;Lorg.apache.catalina.Response; > > > > > Lorg.apache.catalina.ValveContext;)V(SecurityAssociationValve.java:153) > > > > > at > > > > > org.apache.catalina.core.StandardValveContext.invokeNext(Lorg.apache.catalina.Request;Lorg.apache.catalina.Response;)V(St > > > > > andardValveContext.java:102) > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > -- > > > --dlm > > > www.myjavaserver.com/~dlm8751 > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > -- > --dlm > www.myjavaserver.com/~dlm8751 >
-- --dlm www.myjavaserver.com/~dlm8751 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]