Bonjours à tous,
j'ai des problèmes pour afficher mes messages d'erreurs. Il ne s'affiche pas où je le souhaite.
dans ma page jsp j'ai le code suivant (bout de code) :
---
----
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <h:panelGrid columns="3"> <h:outputText value="Login :"/> <h:inputText id="login" value="#{loginutilisateur.login}" title="Saisissez votre login"/> <h:message errorStyle="color: red" for="login"/> <h:outputText value="Mot de passe :"/> <h:inputSecret id="motdepasse" value="#{loginutilisateur.mdp}" title="Saisissez votre mot de passe"/> <h:message errorStyle="color: red" for="motdepasse"/> </h:panelGrid> <h:panelGrid columns="2"> <h:commandButton id="valider" action="#{loginutilisateur.valider}" value="Valider"/> <br> <h:commandButton action="#{loginutilisateur.annuler}" value="Annuler" onclick="return confirm('Êtes-vous sur?')" immediate="true"/> </h:panelGrid> <h:messages errorStyle="color: red" infoStyle="color: green" />
dans la classe java ( de mon bean managé ) j'ai une méthode addMessage :
pour les champs login et mot de passe j'ai réalisé 2 méthodes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void addMessage(String id,String summary,String detail,FacesMessage.Severity severity) { FacesContext facesContext = FacesContext.getCurrentInstance(); FacesMessage facesMessage = new FacesMessage(); facesMessage.setSeverity(severity); facesMessage.setSummary(summary); facesMessage.setDetail(detail); facesContext.addMessage(id,facesMessage); }
lors du clique sur le bouton valider on appel la méthode suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public void erreurSaisieLogin(String id) { String summary = "Le champ login doit être renseigné"; addMessage(id,summary,null,FacesMessage.SEVERITY_ERROR); } public void erreurSaisieMdp(String id) { String summary = "Le champ mot de passe doit être renseigné"; addMessage(id,summary,null,FacesMessage.SEVERITY_ERROR); }
Le problème est que les différents message d'erreurs ne s'affichent pas à côté des champs de saisis mais en dessous des boutons les uns à la suite des autres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public String valider() { if (getLogin().equals("") || getMdp().equals("")) { if (getLogin().equals("")) { erreurSaisieLogin("login"); } if(getMdp().equals("")) { erreurSaisieMdp("motdepasse"); } return "connection"; } //---- on fait ensuite d'autre traitement ///----
Merci de votre aide
@+
Partager