+1 ---- Vic's on target when it comes to validating.  This is an especially
useful tactic when using DispatchActions for CRUD (Create Read Update
Delete) actions.

Regards,
David

-----Original Message-----
From: news [mailto:[EMAIL PROTECTED] Behalf Of Vic
Sent: Wednesday, August 25, 2004 9:49 PM
To: [EMAIL PROTECTED]
Subject: Re: ValidatorForm issue



I allways say validate = false in mapping, and then manualy call it.
Would that help?
.V

Bryce Fischer wrote:
> I'm having a problem with a ValidatorForm and validation. The first time
> I try to access the action below, I get a validation error. The form
> never gets the opportunity to be filled in by the Action class (action
> called is /fringe.do?method=edit). Is there any way to tell Struts to
> not do validation unless we are saving? For example, calling
> /fringe.do?method=save? I have solved it by overrideing the validate()
> method, checking the parameters and seeing if "method = 'save'".
>
> I was wondering if this was the only way to accomplish this? I'd like to
> be able to keep that kind of logic out of my form, and put it in the
> validation.xml file, or another configuration file...
>
> Form:
>
> public class FringeForm extends ValidatorForm implements
> java.io.Serializable {
>  private String field1;
>
>   public ActionErrors validate(ActionMapping mapping, HttpServletRequest
> request) {
>      ActionErrors actionErrors = new ActionErrors();
>      String method = request.getParameter("method");
>          if ("save".equals(method)) {
>         actionErrors = super.validate(mapping, request);
>      }
>          return actionErrors;
>   }
>
>  // getters and setters omitted for brevity
> }
>
> Validation:
> <form-validation>
>  <!--
>    Define global validation config in validation-global.xml
>  -->
>  <formset>
>      <form name="fringeForm">
>              <field property="field1" depends="required">
>                  <arg0 key="fringeForm.field1"/>
>              </field>
>      </form>
>  </formset>
> </form-validation>
>
> And the action mapping looks like this (actual class extends
> DispatchAction):
>
>        <action
>            path="/fringe"
>            type="org.springframework.web.struts.DelegatingActionProxy"
>            name="fringeForm"
>            scope="request"
>            parameter="method"
>            input="/WEB-INF/pages/fringeForm.jsp"
>        >
>            <forward name="edit" path="/WEB-INF/pages/fringeForm.jsp"/>
>            <forward name="success" path="/index.jsp"/>
>        </action>


---------------------------------------------------------------------
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