Bonjour,

J'ai un souci avec le validator car j'ai deux actions dans un formulaire:
1 action permet d'imprimer des fiches à partir de checkbox cochées dans un layout collection
2. action qui est associé à une liste déroulante qui permet de réaffecter une fiche ( il faut qu'au moins un checkbox du layout collection soit coché ) et qu'une sélection dans une liste déroulante soit effectuée afin de validier le tout pour réaffecter la fiche à un autre utilisateur.

Problème :
C'est qu'il m'affiche le même message d'erreur pour les deux alors que pour impression, il n'a pas besoin de la propriété de la liste déroulante (vendeur) :s


Jsp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
function submitPortefeuille(action, typeAction) {
	document.portefeuilleForm.action=action;
	document.portefeuilleForm.typeAction.value=typeAction;
	document.portefeuilleForm.submit();
}
...
 
<html:hidden property="typeAction" value="default"/>
 
	<table><tr>
		<td class="texterecherche">
			Imprimer les fiches sélectionnées <html:button property="" value="Imprimer" onclick="submitPortefeuille('impressionPortefeuille.do', 'impression')"/>
		</td>
 
		<td class="texterecherche">
			Affecter les fiches sélectionnées à :
			<html:select property="vendeur" size="1">
				<html:option value=""> --- Sélectionner un CC --- </html:option>
				<html:options collection="vendeurs" labelProperty="nomprenom" property="id" />
			</html:select>
			<html:button property="" value="OK" onclick="submitPortefeuille('reaffectationVendeur.do', 'reaffectation')"/>
		</td>
	</tr></table>
....
				<layout:collectionItem title="Action">
					<div align="center" valign="center"><html:multibox property="impression"><bean:write name="id" property="reference"/></html:multibox> </div>
				</layout:collectionItem>
Validator.xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
		<form name="portefeuilleForm">
			<field property="vendeur" depends="validwhen">
				<msg key="errors.required" name="validwhen"/>
				<arg0 key="impression" />
				<arg1 key="vendeur" />				
                <var>
                     <var-name>test1</var-name>
					 <var-value>((typeAction != 'reaffectation' ) or (*this* != null)) </var-value>
                     <var-name>test2</var-name>
					 <var-value>((typeAction != 'reaffectation' ) or (impression != null)) </var-value>					 
                </var>
			</field>			
			<field property="impression" depends="validwhen">
				<msg key="errors.required" name="validwhen"/>
				<arg0 key="impression" />
                <var>
                    <var-name>test</var-name>
					<var-value>((typeAction != 'impression' ) or (*this* != null))  </var-value>
                </var>
			</field>
		</form>
ressource.properties:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
errors.required=Le champ {0} doit être saisi.
vendeur = CC
impression = " Action " du tableau Portefeuille
Merci