struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jakub Milkiewicz" <jmilkiew...@gmail.com>
Subject Re: Re: complex validation problem.
Date Sat, 29 Apr 2006 08:26:19 GMT
Hi
Thanks for all answers. Finally i created 2 new validators: skipNextIf and
gotoNextIf.
They both test some expression which is passed in var-value parameter and if
the expression is evaluated to true,
skipNextIf return false and gotoNextIf return true. As you can imagine, i do
not add any entries to Errors in these validators .
They just work only as some kind of gateway which can break the the
validation  chain for a property.
                           milus

2006/4/28, Chaudhary, Harsh <HCHAUDHA@amfam.com>:
>
> You could write a custom validator which would read the value of the
> documentIdentity. Then,
>
> If
> documentIdentity != "pazport", return true
> else
> -- Run your mask validation for passport number --
>
> To do the mask validation, from your class, consult this:
> http://struts.apache.org/struts-action/struts-core/apidocs/index.html
>
> Look for a method: validateMask()
>
> Harsh.
>
> -----Original Message-----
> From: news [mailto:news@sea.gmane.org] On Behalf Of Laurie Harper
> Sent: Friday, April 28, 2006 4:37 PM
> To: user@struts.apache.org
> Subject: Re: complex validation problem.
>
>
> Jakub Milkiewicz wrote:
> > Hi
> > I have a problem with conditional validation. Currently i am working
> with
> > struts 1.1 - because of its WSAD support but i am thinking of
> migrating to
> > the newest one.
> > My problem is that on my jsp page i have 2 radio buttons:
> > <html:radio name="viewBean"  property="documentIdentity"
> value="dowod"/>
> > <html:radio name="viewBean"  property="documentIdentity"
> value="paszport"/>
> > I am using struts validator and in my validation.xml i want to have
> > passportNumber property validated IF AND ONLY IF documentIdentity
> equals
> > paszport.
> > More, i want to have it validated with other validators too.
> > I need something like:
> > <field property="passportNumber"
> >              depends="requiredif,mask" page="1">
> >                  <var>
> >                       <var-name>field[0]</var-name>
> >                         <var-value>documentIdentity</var-value>
> >                       </var>
> >                       <var>
> >                         <var-name>fieldTest[0]</var-name>
> >                         <var-value>EQUAL</var-value>
> >                       </var>
> >                       <var>
> >                         <var-name>fieldValue[0]</var-name>
> >                         <var-value>paszport</var-value>
> >                       </var>
> >                       <var>
> >                        <var-name>mask</var-name>
> >                        <var-value>${passportNumberMask}</var-value>
> >                      </var>
> >         </field>
> > So if documentIdentity.equals paszport, passportNumber  is required
> and
> > needs to be validated against mask validator.
> > If doucmentIdentity eqauls dowod, i do not wanna to validate
> passportNumber
> > at all.
> > Can struts validator satisfy my requirements? Can struts 1.1 validator
> > satisfy it??
> > I have spent a lot of time on struts mailing list trying to find an
> answer
> > for my problem but i haven't found anything special.
> > Maybe solution presented in
> > http://marc.theaimsgroup.com/?l=struts-user&m=113029818225923&w=2
> > is suggested in Struts.
> > Can anyone help me.
>
> Unfortunately the validation framework doesn't support this requirement
> directly; when you say depends="requiredif,mask", this is taken to mean
> 'the field is valid if it passed the requiredif test AND it passes the
> mask test'. There's no way to have a requiredif/validwhen rule control
> whether another rule is applied.
>
> The message you referenced in the archives looks like a good starting
> point to achieve what you want. Essentially, you will need to write your
>
> own validation rule. That message looks like it details a reasonably
> flexible basis for doing so.
>
> L.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message