Problème avec l'affichage de message d'erreur
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:
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 :
Code:
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);
} |
pour les champs login et mot de passe j'ai réalisé 2 méthodes :
Code:
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);
} |
lors du clique sur le bouton valider on appel la méthode suivante :
Code:
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 ///---- |
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.
Merci de votre aide
@+