struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chaudhary, Harsh" <HCHAU...@amfam.com>
Subject RE: Re: complex validation problem.
Date Fri, 28 Apr 2006 21:50:10 GMT
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
View raw message