Hi Laurie No joy with this I'm afraid..
Using your suggestion, 'date_Shipped' is always required no matter the state of 'complete'. date_Shipped is a String. complete is a boolean. I had expected that the status of a boolean would be either true or false - but now I'm not sure - also, I'm not sure how to debug this - without digging into the validator code. I assume that the validator does it's stuff before the ActionForm gets to my Action; returning the user to the input if validation fails. Any more suggestions? db > -----Original Message----- > From: news [mailto:[EMAIL PROTECTED] On Behalf Of Laurie Harper > Sent: 14 November 2005 23:54 > To: user@struts.apache.org > Subject: Re: Validator - how to check a checkbox > > David Bolsover wrote: > > Hi all > > > > I've done a deal of searching through the archives, looked at the > > examples - even read the docs - I'm still stuggling with this... > > > > I need to validate a number of fields in a from; certain fields are > > required if a checkbox is checked and should be empty if > the checkbox is not checked. > > > > What is the correct syntax in validator.xml? > > > > 'date_Shipped' must only be populated if the 'complete' > checkbox is checked. > > > > As an example of what I have tried....broken... > > > > <field property="date_Shipped" depends="validwhen"> <arg0 > > key="returns.date_Shipped"/> > > <var> > > <var-name>test</var-name> > > <var-value>(complete == 'on')</var-value> > > </var> > > </field> > > That says date_Shipped is valid *only* when complete has the > value 'on'. > And since a checkbox field is never going to have the value > 'on', date_Shipped isn't ever going to be valid... > > What you want is probably something like > > (((complete == false) and (*this* == null)) or > ((complete == true) and (*this* != null))) > > I'm not sure if true/false is what you need, or if that needs > to be a test for null; it probably depends on the type you've > declared for the 'complete' property in your form. > > L. > > > --------------------------------------------------------------------- > 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]