IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Validation selectOneMenu


Sujet :

JSF Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 210
    Points : 87
    Points
    87
    Par défaut Validation selectOneMenu
    Bonjour,
    je suis en trais de faire un tuto sur jsf, et j'ai une erreur donc je n'arrive pas à me dépatouiller :
    Quand je pace ce select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <p:selectOneMenu value="#{unBean.cours.tuto}" effect="fade" var="p" height="250" width="150" >
     
             <f:selectItems value="#{unAutreBean.listeTutos}"  var="tuto" itemLabel="#{tuto.name}" itemValue="#{tuto}"/>  
             <p:column>
             	 #{p.id} 
             </p:column>  
            <p:column>
    	        #{p.name}  
            </p:column>  
     
    </p:selectOneMenu>
    Si je construit ma liste de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public List<Tuto> listeTutos() {
    	return  tutoService.getAllTutos();
    }
    Je tombe sur cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j_idt20:j_idt30 : erreur de validation. La valeur est incorrecte.
    Si je construit ma liste de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public List<Tuto> listeTutos() {
    	liss = new ArrayList<Tuto>();
    	Tuto test = new Tuto("1", "un tuto");
    	liss.add(test);
    	return liss;
    }
    je n'ai pas l'erreur mais unBean.cours.tuto est null


    Merci d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 89
    Points : 140
    Points
    140
    Par défaut
    Salut ,

    Si je ne me trompe pas, il faut que ton objet Tuto surcharge la méthode equals() car c'est celle la utilisé pour vérifier que l'objet sélectionné appartient bien à ta liste.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 210
    Points : 87
    Points
    87
    Par défaut
    Oui merci effectivement maintenant ça marche mieux, mais du coup maintenant mon problème c'est que j'ai exactement le même message si le champ id de mon bean Tuto est supérieur à 127

    128 ça plante ... trop bizarre ...

    merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 210
    Points : 87
    Points
    87
    Par défaut
    OK même solution
    il suffisait d'ajouter la méthode equals dans un autre bean

    Merci encore

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Demande d'aide
    j'ai exactement le meme probleme malgré le faite que ma liste de selectitems ne contient que des string au faite quand j'utilise un seul selectone menu dans ma page jsf ça marche tres bien mais dés que j'ajoute un autre composant quelqu il soit ça me genere l'erreur suivant:

    erreur de validation. La valeur est incorrect.

    vous aurriez pas une idée de la cause de ce probleme

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 89
    Points : 140
    Points
    140
    Par défaut
    Code de la page si possible ?

  7. #7
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Salut, il te faut un converter sur ton selectOneMenu.

    sinon tu pourra pas peupler ton instance de Tuto.
    Ton erreur de validation vient du fait que JSF veut injecter une String dans une ton instance de Tuto ...

    Regarde le GenericConverter que j'ai posté il y a eu et qui t'aideras tout simplement :

    http://www.developpez.net/forums/d11...ique-securise/

    et regarde aussi qqn qui avait le même problème et qui a été résolu :

    http://www.developpez.net/forums/d12...nte-jsf-2-0-a/
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations forums :
    Inscription : Mai 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Salle : erreur de validation. La valeur est incorrecte.
    Bonjour j'ai le meme probleme,voici mon code et meci d'avance

    xhtml
    <p:outputLabel for="salle" value="Salle" />
    <p:selectOneMenu id="salle"
    value="#{ClassePageBean.salleSelected}"
    required="true" requiredMessage="vous devez choisir une salle"
    converter="#{SalleConverterBean}" title="Salle_fk">
    <!-- DONE: update below reference to list of available items-->
    <f:selectItems value="#{ClassePageBean.getliste_Salles()}"
    var="csalle" itemValue="#{csalle}"
    itemLabel="#{csalle.libelle}" />
    </p:selectOneMenu>
    Bean
    public List<Salle> getliste_Salles() {
    liste_Salles = scolariteBo.findAllsalle();
    return liste_Salles;
    }
    Converter
    public Object getAsObject(FacesContext context, UIComponent component,
    String value) {
    Salle salle=scolariteBo.findSalleById(value);
    return salle;
    }

    public String getAsString(FacesContext context, UIComponent component,
    Object value) {
    Salle salle;
    salle = (Salle) value;
    return String.valueOf(salle.getIdsalle());
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/02/2011, 16h14
  2. Réponses: 3
    Dernier message: 11/02/2011, 09h18
  3. SelectOneMenu Converter: Valeur is not valid
    Par Lourpiop dans le forum JSF
    Réponses: 4
    Dernier message: 27/05/2010, 17h39
  4. [ICEFACES] selectOneMenu Erreur de Validation
    Par *alexandre* dans le forum JSF
    Réponses: 5
    Dernier message: 19/01/2009, 17h45
  5. SelectOneMenu et validation
    Par tomy29 dans le forum JSF
    Réponses: 3
    Dernier message: 26/08/2008, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo