-
Validation des champs
Voici mon prb:
j'ai deux champs de password (comme d'hab pour réécrire le password deux fois), et je veux effecturer une validation pour férifier, que les entrées sont égales.
Donc sur le deuxième password j'ai mis un validator (méthode), qui est bien appelée. J'ai en argument la value de l'input.
C'est bien, mais comment je fais pour avoir la value du premier password pour pouvoir comparer, sachant que je suis dans la phase validation du cycle de vie ??
Quand je récupère le premier password (j'ai fait des backing beans) j'ai value qui est null.
Y a pas un pro du cycle de vie des requetes, dans le coin ?
Merci
-
Je pense que tu ne dois pas le faire dans la phase de validation, mais bien dans la phase d'exécution.
Mais si tu veux vraiement, il dois y avoir moyen d'accéder directement à la "valeur de transition" des composants en y accèdant directement et de les comparer. Mais aucune valeur ne sera setté dans ton bean tant que ce n'est pas validé. A toi de voir ou cela trouve sa place pour toi.
Alex
-
il parait que get submittedValue() renvoi la valeur de transition; pourtant ca marche pas pour moi ??
-
getSubmittedValue() renvoie la valeur avant la phase de validation. Si la phase de validation est ok alors la valeur passe dans localValue avant de passer dans Value lors de la derniére phase.
Dans ton validator tu peux peut etre retrouvé ton 2eme composant en faisant :
FacesContext.getCurrentInstance().getViewRoot().findComponent(id de ton composant);
-
Ce qui m'amène à une autre incompréhension au niveau des ID
je les affectes programmatiquement monUI.set(ID) blabla, et parfois je perds
cet ID, car jsf affecte un automatiquement.
Je comprends pas la logique de la chose.
-
j'ai jamais observé la chose.
JSF change tes ids en idView:idSubView:idForm:tonId. Mais à part cela si tu as set un id à chaque fois que le composant est crée, il ne devrait pas y avoir de probléme.