hum,

I mean my jsp is built dynamically.. so when my select box is set to "1",
my jsp is made with 4 fields.
But if my select box is set to "2", "3" or "4". my JSP page is made with 3
new fields.

And I think that "hide" means present but not visible.. and "not display"
means not present in the page.

I hope you'll understand, I'm sorry for my poor english.


SO, have a look at my jsp, it could be more comprehensive:

                 <html:select property="subscriptionType" styleId="inscrit"
styleClass="form" onchange="ChangeUrl(this.form)">
                     <html:option value="1"><bean:message key="
inscription.particulier"/></html:option>
                     <html:option value="2"><bean:message key="
inscription.membre.entreprise"/></html:option>
                     <html:option value="3"><bean:message key="
inscription.professionnel"/></html:option>
                     <html:option value="4"><bean:message key="
inscription.elu"/></html:option>
                 </html:select></td>
               </tr>

               <% String val = new String("1") ; %>

           <logic:notEqual  name="startSubscriptionForm"
property="subscriptionType" value="<%=val%>">

           <html:text property="enterpriseName" name="S_ENTREP"
styleId="nomentreprise" styleClass="form" size="20" value=""/>
           <html:text property="legalRepresentant" name="S_REPRES"
styleId="representant" styleClass="form" size="20"
             <html:text property="siren" styleId="siren" name="S_SIREN"
styleClass="form2" size="10" maxlength="14" value="" /></td>

           </logic:notEqual>

I just want those 3 fields (enterpriseName, legalRepresentant and siren) to
be required if select box != 1.


??

On 7/26/06, Irwan Nurwandi <[EMAIL PROTECTED]> wrote:

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 &lt;= 4)).  Note the &lt;, 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]




--
~ jebmail ~

Reply via email to