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" :
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>
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
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"));
	}
Cet exemple est bête je veux juste afficher un message lorsque je saisi quelque chose dans le inputText.
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.
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=()]|#]
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.

Merci de votre aide...

PS : Lorsque je laisse le champ vide, le message d'erreur s'affiche correctement.