You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Chetan Pandey <cp...@bluesingapore.com> on 2006/09/15 14:38:51 UTC
Validation
I have two controls in a Form. Both of them are drop-down. One has multiple
select enabled.
I want to validate such that if User chooses something in
"prerequisiteVO.prerequisiteCourseId" drop-down then he must also choose
from drop-down "prerequisiteRole".
However since "prerequisiteRole" is a multiple select and is saved as an
array of int , what should I say in my "test" condition.
<var-value>
((prerequisiteVO.prerequisiteCourseId == 0) or (prerequisiteRole.length >
0))
</var-value>
"prerequisiteRole.length" which I am using doesn't work.
My prerequisiteRole drop-down is like this
'choose Role' Value = 0
'Role-1' Value = 1
'Role-2' Value = 2
I want to say that aleast one value greater than 1 has been selected.
I cannot say prerequisiteRole > 0 or *test* > 0 as it is not an int but an
array of int.
My validation looks like the following
<field property="prerequisiteRole" depends="validwhen">
<msg name="validwhen" key="errors.validwhen.prereq.role"/>
<var>
<var-name>test</var-name>
<var-value>((prerequisiteVO.prerequisiteCourseId == 0) or
(prerequisiteRole.length > 0))</var-value>
</var>
</field>
Thanks.
Chetan