Je rencontre un problème particulier lorsque j'essaie d'invoquer la valeur h: inputText label field à la validation. Cela ne fonctionne que lorsque je transmets une valeur statique au champ d'étiquette. Le temps que je lui passe une valeur dynamique, il ne parvient pas à rendre l'étiquette quand une validation échoue pour ce champ.h: inputText ne renvoie pas l'étiquette à la validation
<h:inputText id="fullNameField" value="#{newUserFormBean.fullName}"
**label="${nlsSupport.label_fullName}"** required="true" size="32" styleClass="required">
<f:validateLength minimum="3" maximum="64"/>
</h:inputText>
Si la validation échoue pour la longueur minimale, le message d'erreur est affiché comme:
pas d'étiquette rendu ici: doit être au minimum 3 caractères
Mais quand je coder en dur l'étiquette au lieu pour lui transmettre une valeur dynamique, il affiche un message de validation valide, avec le nom de l'étiquette imprimé à l'écran.
<h:inputText id="fullNameField" value="#{newUserFormBean.fullName}"
**label="Full Name"** required="true" size="32" styleClass="required">
<f:validateLength minimum="3" maximum="64"/>
</h:inputText>
Maintenant, si la validation échoue pour la longueur minimale, le message d'erreur est affiché comme:
Nom complet: doit être au minimum 3 caractères
J'ai également examiné la documentation JSF , et il lit que l'étiquette accepte les expressions de langage d'expression. Alors pourquoi la valeur dynamique n'est-elle pas restituée après la validation de l'échec?
De plus, j'ai besoin de passer l'étiquette de manière dynamique (à partir de l'ensemble de ressources), de manière à ajouter la fonctionnalité de langue nationale pour différentes langues. C'est la raison qui me force à passer une valeur dynamique à l'attribut label au lieu d'un champ statique.
Merci.