Bonsoir,

j'ai un soucis avec un input text que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<h:inputText id="id_correspondanceAdresse1"
	label="Adresse correspondance ligne 1"
	value="#{identificationCtrl.identificationModel.correspondanceAdresse1}"
	styleClass="adresse_input"
	<f:validateLength maximum="100" />
	<a4j:ajax event="blur" execute="@this" />
	<a4j:ajax event="change"
		listener="#{identificationCtrl.onChangeAdresseCorrespondance1}"
		render="id_correspondanceAdresse2" execute="@this" />
</h:inputText>
Lorsque la valeur de cet input change, cela appele la méthode identificationCtrl.onChangeAdresseCorrespondance1 et le rendu est effectué sur un 2nd input text id_correspondanceAdresse2.
En l'occurence, je grise id_correspondanceAdresse2 si id_correspondanceAdresse1 est vide et inversement.

Tout ce passe bien jusque là.

Maintenant, je veux que id_correspondanceAdresse1 soit obligatoire. J'ai 2 solutions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<h:inputText id="id_correspondanceAdresse1"
	label="Adresse correspondance ligne 1"
	value="#{identificationCtrl.identificationModel.correspondanceAdresse1}"
	styleClass="adresse_input" required="true"
	<f:validateLength maximum="100" />
	<a4j:ajax event="blur" execute="@this" />
	<a4j:ajax event="change"
		listener="#{identificationCtrl.onChangeAdresseCorrespondance1}"
		render="id_correspondanceAdresse2" execute="@this" />
</h:inputText>
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<h:inputText id="id_correspondanceAdresse1"
	label="Adresse correspondance ligne 1"
	value="#{identificationCtrl.identificationModel.correspondanceAdresse1}"
	styleClass="adresse_input"
	<f:validateLength maximum="100" />
	<a4j:ajax event="blur" execute="@this" />
	<a4j:ajax event="change"
		listener="#{identificationCtrl.onChangeAdresseCorrespondance1}"
		render="id_correspondanceAdresse2" execute="@this" />
	<f:validateRequired />
</h:inputText>
Sauf que dans ces deux cas, le comportement ajax désiré ne fonctionne plus. En effet, si je mets des valeurs dans id_correspondanceAdresse2 se dégrise bien, mais si je vide id_correspondanceAdresse1 alors id_correspondanceAdresse1 ne se grise plus.
Un peu comme si la validation avait avalé mon évènement "change" .