Bonjour à tous !

Suite à une erreur de validation que je n'arrive pas à régler depuis trois jours, je me résigne à vous demander de l'aide:
Je récupère une liste d'utilisateurs dans une base de données...j'affiche dans le selectOneMenu les logins des utilisateurs présents dans la base...impossible d'avancer à cause d'une erreur de validation du style:
"formulaire_listeUtilisateurs:username : erreur de validation. La valeur est incorrecte. "

Mon selectOneMenu:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<h:selectOneMenu id="username"  value="#{utilisateursManager.utilisateurSelectionne}"  converter="#{utilisateurConverter}" validator="utilisateurValidator">
                        <f:selectItem itemLabel="#{msg['index.selectionne']}" />
                        <f:selectItems value="#{utilisateursManager.donneUtilisateurs}"
                            var="utilisateur" itemLabel="#{utilisateur.login}" itemValue="#{utilisateur}" />
                    </h:selectOneMenu>
Mon bean managé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
@ManagedBean(name="utilisateursManager")
@SessionScoped
public class UserManagedbean implements Serializable {
 
    private static final long serialVersionUID = 1L;
    /**
     * Injection de nos EJB (Session Bean Stateless)
     */
    @EJB
    private UtilisateurDao dao;
 
    // List<Information> pays;
    private List<Utilisateur> listeUtilisateurs;
    private Utilisateur utilisateurSelectionne;
 
    public List<Utilisateur> getListeUtilisateurs() {
 
        return listeUtilisateurs;
    }
    public void setlisteUtilisateurs(List<Utilisateur> liste) {
        this.listeUtilisateurs = liste;
    }
 
    public Utilisateur getUtilisateurSelectionne() {
        return utilisateurSelectionne;
    }
    public void setUtilisateurSelectionne(Utilisateur utilisateur) {
        this.utilisateurSelectionne = utilisateur;
    }
 
    //remplissage de la liste derroulante
    public List<Utilisateur> getDonneUtilisateurs(){
 
System.out.println("Fonction getDonneUtilisateurs");        
        listeUtilisateurs = dao.trouver();
//        this.utilisateurSelectionne = (Utilisateur) listeUtilisateurs.get(1);
        return listeUtilisateurs;
    }
 
    //remplissage de la liste derroulante
    public String verifierMotDePasse(){
 
        return "acceuil.xhtml";
    }
 
}
Mon "converter":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
@ManagedBean
@SessionScoped
public class UtilisateurConverter implements Converter, Serializable {
 
 
    private static final long serialVersionUID = 1L;    
 
    @Override
    public Object getAsObject(FacesContext context, UIComponent component,
            String value) {
 
        UserManagedbean bean = (UserManagedbean) ((HttpSession)context.getExternalContext().getSession(true)).getAttribute("utilisateursManager");
        List<Utilisateur> userList = bean.getDonneUtilisateurs();
        for(int i=0; i<userList.size(); i++) {
            Utilisateur user = userList.get(i);
            if(user.getLogin().equals(value)) {
System.out.println("DANSCONVERTEROBJECT trouve user:" + user.getLogin());
                return user;
            }
        }
        return null;
 
    }
 
    @Override
    public String getAsString(FacesContext context, UIComponent component,
            Object value) {
 
System.out.println("DANSCONVERTERSTRING");
        if (value==null){
System.out.println("DANSCONVERTERSTRING value=null, return null:");
            return null;
        } else {
        Utilisateur user = (Utilisateur) value;
        return user.getLogin() != null ? user.getLogin() : null;
        }
    }
}
D'après ce que je comprends, le "validator" vérifie que j'ai bien sélectionné dans la liste un bon utilisateur, donc un utilisateur qui existe dans la liste des utilisateurs de mon bean managé...pour cela, le "itemValue" de mon menu pointe bien vers un "Utilisateur"...qui est comparé à un de la liste du bean...Mais, vu mes explications, il y a un truc que je ne dois pas comprendre...Désolé...

Merci par avance

Sébastien