Can you enter this as an issue in JIRA? I'm assuming you're using Struts 1.x?
FWIW, I can reproduce this bug on the demo site: http://demo.raibledesigns.com/equinox-struts/users.html Matt On 2/21/07, Scott Purcell <[EMAIL PROTECTED]> wrote:
The userForm does not work right out of the box. I did it at home last night also with the same results. If you do not enter a lastname in the userform, it still saves to the DB. Scott -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matt Raible Sent: Wednesday, February 21, 2007 8:14 AM To: users@appfuse.dev.java.net Subject: Re: [appfuse-user] Equinox 1.7 Validation Help Required Looks like a bug to me. Does the validation work on the userForm or not? You say it's "broken out of th ebox". Did you fix it or does this cause a similar error? Matt On 2/21/07, Scott Purcell <[EMAIL PROTECTED]> wrote: > > > > > Hello, > > > > Equinox 1.7 'Struts, Spring, Hibernate' configuration. > > > > > > I am trying to do some validation just like the lastname validation in the > userForm.jsp. (that one was broke out of the box also.). I cannot figure > this out, and would really like to get it working. But I cannot get the > userform one to work, nor can I get mine to work. I was hoping someone may > see a problem somewhere, or be able to understand the error. > > > > Thanks, > > > > > > A) The validator plug-in is defined in the struts-config.xml like so. > > <plug-in > className="org.apache.struts.validator.ValidatorPlugIn"> > > <set-property > > property="pathnames" value="/WEB-INF/validator-rules.xml, > > > /WEB-INF/validation.xml"/> > > </plug-in> > > > > B) I am only trying to validate that the lastname of my form is required, so > in validation.xml I have this between formset tags. > > <form name="contactForm"> > > <field property="contact.lastName" depends="required"> > > <arg0 key="contact.lastName"/> > > </field> > > </form> > > > > C) My action extends DispatchAction (copied from the userAction); > > public ActionForward save(ActionMapping mapping, ActionForm form, > > HttpServletRequest request, > > HttpServletResponse response) > > throws Exception { > > if (log.isDebugEnabled()) { > > log.debug("entering 'save' method..."); > > } > > > > ActionMessages errors = form.validate(mapping, request); > > if (!errors.isEmpty()) { > > saveErrors(request, errors); > > return mapping.findForward("edit"); > > } > > > > > > > > D) JSP page > > <html:form action="/contactus.html?method=save"> > > <table class="detail"> > > <tr> > > <th><label for="contact.firstName"><fmt:message > key="contact.firstName"/>:</label></th> > > <td><html:text property="contact.firstName" > styleId="contact.firstName"/></td> > > </tr> > > > > <tr> > > <th><label for="contact.lastName" class="required">* <fmt:message > key="contact.lastName"/>:</label></th> > > <td> > > <html:text property="contact.lastName" styleId="contact.lastName"/> > > <span class="fieldError"><html:errors > property="contact.lastName"/></span> > > </td> > > </tr> > > > > > > > > > > > > Error From Tomcat log: > > at java.lang.Thread.run(Unknown Source) > > ERROR - DynaValidatorForm.validate(112) | No such validation method: > org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Objec t, > org.ap > > ache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > javax.servlet.http.HttpServletReq > > uest) > > org.apache.commons.validator.ValidatorException: No such > validation method: > org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Objec t, > > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > javax.servlet.http.HttpSer > > vletRequest) > > at > org.apache.commons.validator.ValidatorAction.loadValidationMethod(Valida torAction.java:603) > > at > org.apache.commons.validator.ValidatorAction.executeValidationMethod(Val idatorAction.java:533) > > at > org.apache.commons.validator.Field.validateForRule(Field.java:766) > > at > org.apache.commons.validator.Field.validate(Field.java:846) > > at > org.apache.commons.validator.Form.validate(Form.java:290) > > at > org.apache.commons.validator.Validator.validate(Validator.java:354) > > at > org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm .java:110) > > at > com.mb.purcell.action.ContactAction.save(ContactAction.java:41) > > at > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > > at java.lang.reflect.Method.invoke(Unknown Source) > > at > org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.j ava:270) > > at > org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187 ) > > at > org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java:431) > > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236) > > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) > > at > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) > > 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:252) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) > > at > org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFi lter.java:125) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:202) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) > > at > com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter. java:118) > > at > com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.j ava:52) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:202) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) > > at > org.appfuse.web.MessageFilter.doFilter(MessageFilter.java:32) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:202) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:213) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:178) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :126) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :105) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:107) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1 48) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:86 9) > > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc essConnection(Http11BaseProtocol.java:664) > > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint .java:527) > > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow erWorkerThread.java:80) > > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:684) > > at java.lang.Thread.run(Unknown Source) -- http://raibledesigns.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- http://raibledesigns.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]