Bonjour,
Je dois faire pour un projet un formulaire de validation qui réagit lorsque l'on saisit les informations. J'ai donc choisi le RichFaces pour l'ajax.
Cependant, je n'arrive pas à afficher sur ma page les messages que je créé en cas d'erreur.
Voici le code jsf "test.jsf" :
Et voici mon bean "test.jsf" qui est bien déclaré dans mon faces.conf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <h:form> <h:outputText value="Nom : " /> <h:inputText value="#{test.lastName}" id="lastname" required="true"> <a4j:support event="onkeyup" action="#{test.checkLastName}" reRender="pouet" /> </h:inputText> <a4j:outputPanel ajaxRendered="true"> <h:message id="pouet" for="lastname" /> </a4j:outputPanel> </h:form>
Cet exemple est bête je veux juste afficher un message lorsque je saisi quelque chose dans le inputText.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class test { private String lastName=""; public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public void checkLastName(){ FacesContext fc = FacesContext.getCurrentInstance(); fc.addMessage("lastname", new FacesMessage("Error LastName")); }
Ce code me permet de générer l'erreur, mais pas de l'afficher dans ma page HTML. Dans les logs du serveur j'ai cela qui est assez explicite mais qui ne m'aide pas à corriger mon erreur.
Je sais que ce sujet a déja été traité dans le forum, mais je n'ai pas réussi à corriger mon probleme avec les post parlant de ce sujet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sourceId=lastname[severity=(INFO 0), summary=(Error Lastname), detail=()];|WARNING: FacesMessage(s) have been enqueued, but may not have been displayed. sourceId=lastname[severity=(INFO 0), summary=(Error Lastname), detail=()]|#]
Merci de votre aide...
PS : Lorsque je laisse le champ vide, le message d'erreur s'affiche correctement.
Partager