2010-06-02 6 views
4

J'ai un h: selectOneMenu rempli de valeurs enum, qui fonctionne bien. Le seul problème est que je ne sais pas comment remplacer le message d'erreur standard JSF, lorsqu'aucune valeur valide n'est sélectionnée. Le message d'erreur est toujours bv:title: 'Choose' must be convertible to an enum from the enum that contains the constant 'Choose'. Bien que j'ai spécifié requiredmessage et validatormessage (qui fonctionne sur InputText), seul le message JSF standard est affiché.JSF Personnaliser le message de validation pour h: selectOneMenu (si rien n'est sélectionné)

L'extrait:

<h:selectOneMenu id="title" value="#{personBean.person.title}" required="true" 
        requiredMessage="ERROR" 
        validatorMessage="ERROR"> 
    <f:selectItem itemValue="Choose" /> 
    <f:selectItems value="#{personBean.titleOptions}" /> 
    <f:ajax event="blur" render="titleError" /> 
    <f:validateRequired/> 
</h:selectOneMenu> 
<h:message for="title" errorClass="invalid" id="titleError" /> 

Comment puis-je remplacer le message standard validateur? Ou mieux - puis-je créer une copie du message JSF messages.properties avec des messages d'erreur personnalisés (vous ne voulez plus définir toutes les erreurs dans mes propres messages.properties)?

Répondre

10

Ceci n'est pas un message d'erreur "requis". Ceci est un message d'erreur "convertisseur". Cela peut apparaître lorsque l'élément actuellement sélectionné ne correspond pas au type attendu ni à aucune des options de la liste. Le message requis n'apparaîtra que lorsque l'élément actuellement sélectionné est null.

Vous utilisez une valeur de chaîne comme premier élément. Ceci n'est pas convertible en une énumération. Vous devez le définir comme libellé d'élément avec une valeur d'élément null.

<f:selectItem itemLabel="Choose" itemValue="null" /> 
+1

Super, fonctionne parfaitement - merci !!! J'ai remplacé le selectItem par le vôtre et défini converterMessage = "Veuillez choisir une valeur" 'dans selectOneMenu. – ifischer

+0

De rien. – BalusC

Questions connexes