Matt,

Figured it out.

In the validator-rules.xml there is a required validator:
<validator name="required"
            classname="org.apache.struts.validator.FieldChecks"
            method="validateRequired"
            methodParams="java.lang.Object,
                          org.apache.commons.validator.ValidatorAction,
                          org.apache.commons.validator.Field,
                          org.apache.struts.action.ActionMessages,
                          javax.servlet.http.HttpServletRequest"
            msg="errors.required"/>

Problem is, the constructor in the 1.2.9 jar has a
org.apache.commons.validator.Validator between ActionMessages and
Request. Once I added it like so:

<validator name="required"
            classname="org.apache.struts.validator.FieldChecks"
            method="validateRequired"
            methodParams="java.lang.Object,
                          org.apache.commons.validator.ValidatorAction,
                          org.apache.commons.validator.Field,
                          org.apache.struts.action.ActionMessages,
                          org.apache.commons.validator.Validator,
                          javax.servlet.http.HttpServletRequest"
            msg="errors.required"/>

All works great now. I just didn't know how to put this fix into the
JIRA?
I searched around, but with no luck.

Let me know,
Scott






-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matt
Raible
Sent: Wednesday, February 21, 2007 9:48 AM
To: users@appfuse.dev.java.net
Subject: Re: [appfuse-user] Equinox 1.7 Validation Help Required

You'll need to create an account if you don't already have one:

http://issues.appfuse.org/secure/CreateIssue!default.jspa

Matt

On 2/21/07, Scott Purcell <[EMAIL PROTECTED]> wrote:
> Yes, I am using Struts 1.x. I would not mind entering it into the
JIRA,
> but not sure how to go about that. Could you send me a link to the
JIRA
> and I'll take care of it.
>
> Scott
>
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matt
> Raible
> Sent: Wednesday, February 21, 2007 9:20 AM
> To: users@appfuse.dev.java.net
> Subject: Re: [appfuse-user] Equinox 1.7 Validation Help Required
>
> 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]
>
> ---------------------------------------------------------------------
> 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]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to