You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Viplav Kallepu <vi...@gmail.com> on 2007/08/15 17:40:57 UTC

Struts 1.X validwhen

Hi,

 I am using struts 1.3.8 for my application. For validation I am using
validator framework. In one of my pages my form is submitted either by
submit button or changing the dropdown list value. "action" is the name of
the property in the corresponding actionform which stores the submit
button's value for example if the submit button's value is "Modify" then
action property value is "Modify" and action property value is "null" if I
submit the page using change in the dropdown list value. I am using
validwhen to check if the action property is "Modify" as shown below,


<form name="EditUserForm">

        <field property="firstName" depends="validwhen">

                  <var>

                       <var-name>test</var-name>

                      <var-value>((action != "Modify") or (*this* !=
null))</var-value>

                 </var>

       <arg key="ApplicantInfoDisplayActionForm.firstName"/>

</field>
 </form>
My doubt is can I use two validations using the which will be called only
when action != "modify". like I want to check whether the email address is
in right format so I used
<field property="emailAddress" depends="validwhen,email"> and rest of the
code as shown above but it is checking for email format even if action is
not equal to "Modify". By seeing the code it seems that validwhen it is
taking different and email it is taking different. Then how can I use both.
Can any one please help me whether I can use validwhen In this situation. If
not validwhen how can I use the validator framework.
-- 
Regards
Viplav Kallepu

-- 
Regards
Viplav Kallepu

Re: Struts 1.X validwhen

Posted by Laurie Harper <la...@holoweb.net>.
Viplav Kallepu wrote:
> Hi,
> 
>  I am using struts 1.3.8 for my application. For validation I am using
> validator framework. In one of my pages my form is submitted either by
> submit button or changing the dropdown list value. "action" is the name of
> the property in the corresponding actionform which stores the submit
> button's value for example if the submit button's value is "Modify" then
> action property value is "Modify" and action property value is "null" if I
> submit the page using change in the dropdown list value. I am using
> validwhen to check if the action property is "Modify" as shown below,
> 
> 
> <form name="EditUserForm">
> 
>         <field property="firstName" depends="validwhen">
> 
>                   <var>
> 
>                        <var-name>test</var-name>
> 
>                       <var-value>((action != "Modify") or (*this* !=
> null))</var-value>
> 
>                  </var>
> 
>        <arg key="ApplicantInfoDisplayActionForm.firstName"/>
> 
> </field>
>  </form>
> My doubt is can I use two validations using the which will be called only
> when action != "modify". like I want to check whether the email address is
> in right format so I used
> <field property="emailAddress" depends="validwhen,email"> and rest of the
> code as shown above but it is checking for email format even if action is
> not equal to "Modify". By seeing the code it seems that validwhen it is
> taking different and email it is taking different. Then how can I use both.
> Can any one please help me whether I can use validwhen In this situation. If
> not validwhen how can I use the validator framework.

I could be wrong, but I don't think what you want to do is supported. If 
I understood you correctly, you want to be able to specify multiple 
validations (in this case, 'validwhen' and 'email') and only apply the 
second rule if the first one *fails*. The opposite is possible (as soon 
as one validation rule fails, stop processing subsequent ones), but not 
the behaviour you're looking for.

You will probably need to write a custom validator to accomplish your 
goal. It might be possible to extend the validation framework to support 
both semantics for 'depends' processing, though, in which case you might 
consider contributing a patch for that as this would probably be useful 
for others too.

L.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org