Dear Jeremy .. what do you mean with "should I "hide" fields rather than "not display" fields.. ??", "hide" and "not display" are the same things isn't it :-)
if you're expect the validwhen to manage hide and unhide HTML object, validwhen couldn't do such a thing. ===== Taken from struts doc : [Since Struts 1.2.0] A frequent requirement in validation design is to validate one field against another (for example, if you have asked the user to type in a password twice for confirmation, to make sure that the values match.) In addition, there are fields in a form that may only be required if other fields have certain values. The validwhen validation rule is designed to handle these cases. ===== Otherwise, to manage hide and unhide HTML Object which is generated by Struts, you can create your own javascript function to hide/unhide the object, and then call the function manually using OnChange property in your select tag. Regards Irwan
I think now it's time to explain you clearly what I'm trying to do. I've got a select tag wich determine if some fieds appear or not. "if select value > 1, some input:text tags appears, and there aren't present is select value=1." Maybe should I "hide" fields rather than "not display" fields.. ?? thx On 7/25/06, Adam Gordon <[EMAIL PROTECTED]> wrote: > > Jeremy- > > Ok, sanity-check time. Make sure your field names are all spelled > correctly. Also, are any errors being output to the form? I had errors > displaying and it turned out that the validator was doing exactly what I > was asking it to do and the problem was that I just didn't understand > the "validwhen" validation rule. > > I've found that overriding toString() on my form bean and having it dump > the contents of all the fields is an excellent way to see with what > values the bean is being populated. You can then call > System.out.println(this) (or use a logger) in your bean's validate(...) > method to see what values your bean has. Make sure the subscriptionType > is set to the value you expect. > > Also, your rule basically reads now as "the field enterpriseName is > valid when the subscription type is greater than or equal to 1." So, > e.g., if your subscription type is a drop down list that only contains > the values 1,2,3,4, the enterpriseName field will always be valid. > > Give that a whirl and let us know. > > cheers, > > -Adam > > Jeremy Jardin wrote: > > -Adam, > > > > I've just changed my conf like that : > > > > <field property="enterpriseName" > > depends="validwhen"> > > <arg0 key="error.inscription.entreprise.nom" /> > > <var> > > <var-name>test</var-name> > > <var-value>(subscriptionType>=1)</var-value> > > </var> > > </field> > > > > but, it still does not work.. > > > > On 7/25/06, Adam Gordon <[EMAIL PROTECTED]> wrote: > >> > >> Jeremy- > >> > >> At first glance, I think you need to modify your parenthesis. Per the > >> Validation docs at > >> http://struts.apache.org/1.2.9/userGuide/dev_validator.html, only two > >> items may be joined with "and" or "or." I don't know if that means > > you > >> can only have a max of two items or a max of two items per parends... > >> > >> Secondly, I had a bunch of problems with "validwhen" and finally > >> resorted to implementing my own solution in my ValidatorForm's > >> validate(...) method because it appears that 'validwhen' is rather > >> basic. It basically says "field A is valid when..." In my > > experience, > >> "validwhen" doesn't chain well with other validation rules. > >> > >> Alternatively, you could rewrite your rules to say: > > ((subscriptionType > >> >= 2) and (subscriptionType <= 4)). Note the <, you'll get > >> errors if you use a < character. I assume you validate that > >> subscriptionType is an integer on [1,4]. Also, you don't need quotes > >> around the numbers. Struts is smart enough to try numbers first and > >> then if that doesn't work, it resorts to Strings. Besides, I'm not > > sure > >> the functionality you want is to compare Strings using inequalities... > >> > >> Hope this helps. > >> > >> -Adam > >> > >> Jeremy Jardin wrote: > >> > Hi, > >> > > >> > I'm trying to use struts plugin validator to check a big form.. and > > it > >> > works > >> > well.. but I've a little pb with validwhen constraint; > >> > > >> > I've written something like this : > >> > > >> > <field property="enterpriseName" > >> > depends="validwhen"> > >> > <arg0 key="error.inscription.entreprise.nom" /> > >> > <var> > >> > <var-name>test</var-name> > >> > <var-value>((subscriptionType=="2")or > >> > (subscriptionType=="3")or(subscriptionType=="4"))</var-value> > >> > </var> > >> > </field> > >> > > >> > I just want to check the field 'enterpriseName' is not empty when I > >> > submit, > >> > but only if my select field 'subscriptionType" is more than 1. (2,3 > > or4) > >> > > >> > It does not work. > >> > > >> > why ?? > >> > > >> > > >> > >> --------------------------------------------------------------------- > >> 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] > > -- ~ jebmail ~
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]