2010-11-16 8 views
1

J'ai un formulaire simple avec un <h:message> à côté de <h:inputText> pour afficher les messages de validation.Message JSF: un-localiser?

Je souhaite qu'un champ particulier soit un nombre compris entre 1 et 999999, et qu'il s'agit du message de validation à afficher si le nombre n'est pas dans la plage correcte. En utilisant ceci:

<f:validateLongRange minimum="1" maximum="999999"/> 

je reçois le message:

productId: Validation Error: Specified attribute is not between 
the expected values of 1 and 999,999. 

Je suis une demande pour afficher le numéro sans delimiter virgule, mais cela vient avec les paramètres régionaux que j'ai dans mon faces.config. Dans un premier temps, je pense à la solution de base de créer un validateur custon et de vérifier si la valeur soumise est une chaîne et si elle est dans la fourchette requise, mais cela me semble un peu exagéré.

Existe-t-il une autre façon de le faire?

Répondre

2

Si vous utilisez JSF 1.2, vous pouvez définir un message de validation de remplacement dans votre composant d'entrée:

<h:inputText value=".." validatorMessage="Please enter a valid number"> 
    <f:validateLongRange minimum="1" maximum="999999"/> 
</h:inputText> 
+0

Merci pour la réponse (+1). Je devrais le faire pour tous les InputTexts qui ont une gamme numérique, donc je ne suis pas si enthousiaste à ce sujet. De toute façon, si rien ne se passe mieux, je le marquerai comme une réponse acceptée. –

+1

Dans ce cas, vous pouvez également remplacer la clé de message par défaut "javax.faces.validator.NOT_IN_RANGE" dans votre bundle! – chkal

1

dans quelle langue voulez-vous que votre message de validation apparaisse? Un collègue a récemment dû résoudre ce qui (je pense) est votre problème: nous sommes italiens, italien et local italien chargé, mais tous les messages de validation JSF (pas personnalisés, pour lesquels les paramètres régionaux ont été correctement définis et récupérés) étaient en anglais. Après avoir examiné les fichiers jar JSF, il a découvert que les fichiers de propriétés à partir desquels ce message de validation est récupéré étaient simplement ... non disponibles en italien! Il a dû rechercher un fichier de propriétés déjà-(mal) traduit et l'inclure dans le fichier jar JSF.

Espérons que cela résout votre problème aussi.

+0

Merci (+1), mon problème était un problème différent. –

+0

désolé, je n'ai pas compris correctement. La solution de chkal a-t-elle fonctionné? – emas