J'ai plusieurs champs sur lesquels je dois valider la longueur. Ce n'est pas un problème avec l'étiquette <f:validateLength>
. Je peux également ajouter un message personnalisé pour ce validateur.Ajouter un message d'erreur pour la balise <f: validateLength> personnalisée pour un champ
Le problème est que le message doit être personnalisé pour chaque champ. Par exemple. firstname
champ doit avoir des messages "Prénom trop court" ou "Prénom trop long", surname
devrait avoir "Nom trop court" ou "Nom de famille trop long" etc Comment faire pour cela dans JSF2.0?
Et si j'ai besoin de plus de personnalisation? Par exemple. "Prénom trop court", mais "Veuillez fournir un mot de passe plus long" Est-ce possible avec JSF? Ou peut-être avec JSR303 Bean Validation. Là, je peux spécifier un message pour chaque champ, mais je ne peux pas spécifier un message séparé pour une valeur trop courte et une valeur trop longue. – amorfis
Si vous voulez des messages différents, vous devez fournir votre propre 'LengthValidator 'personnalisé et passer les conditions nécessaires comme' '. Il est disponible par 'UIComponent # getAttributes()' dans la méthode 'validate()'. Le nom de base du paquet de messages que vous avez défini dans 'faces-config.xml' est d'ailleurs disponible par' Application # getMessageBundle() 'avec lequel vous pouvez obtenir le paquet de messages par' ResourceBundle # getBundle() 'dans le validateur . Voir aussi [cette réponse] (http://stackoverflow.com/questions/3138271/jsf-how-can-i-get-the-msg-from-message-property-as-a-string-in-java-code/3140182 # 3140182). –
BalusC