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 :

Lier inputtext à selectOneMenu


Sujet :

JSF Java

  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut Lier inputtext à selectOneMenu
    Bonjour,

    J'ai ceci dans un form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <h:inputtext +  <h:selectOneMenu
    Et mon problème est que je veux ajouter un attribut required à mon inputtext mais quand je choisis la 1ère valeur de ma liste, le champ input doit être rempli.

    Quelqu'un saurait-il m'expliquer comment faire ?

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Avril 2004
    Messages : 160
    Par défaut
    Citation Envoyé par sky88 Voir le message
    quand je choisis la 1 ére valeur de ma liste le champ input doit être rempli
    sinon peut ête vide
    Tu peux décrire exactement ce que tu cherche à faire, j'avoue que j'ai de mal à comprendre ton français .

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut
    Dans une page, j'ai un champ input et une liste déroulante.
    Le contenu de mon input peut être vide si j'ai choisi la première valeur de ma liste.
    Sinon, si je choisis une autre valeur de ma liste, l'utilisateur doit remplir le input.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Par défaut
    Bonjour,

    Un petit bout de code pour illustrer tout ça?

    Sinon basiquement, je pense que je créerais une méthode dans ton backBean qui renvoie false si la valeur de ta liste est la première et true sinon, que je positionnerais dans le required de l'input avec un el.... Enfin, si c'est bien ce que tu veux faire.

    Cordialement

    Mcfly

  5. #5
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Avril 2004
    Messages : 160
    Par défaut
    Citation Envoyé par sky88 Voir le message
    mon français était très clair
    dans une page j'ai un champ input et une liste déroulante
    le contenu de mon input peux être vide si j'ai choisi la première valeur de ma liste
    sinon (si je choisis une autre valeur de ma liste) l'utilisateur doit remplir le input
    Merci, là c'est très clair pour moi.

    La solution de mcfly37 est envisageable, mais valable qu'à l'affichage de la page.
    Mais si l'utilisateur choisit une autre valeur, il faut le forcer à saisir dans son input. Donc à ta place, j'utiliserais dans le bean un champ qui contient la 1ère valeur de la liste et qu'il faut valoriser avant l'affichage de la page.
    Quand l'utilisateur change sa sélection dans la liste, tu compares en Javascript la valeur sélectionnée avec la valeur stockée dans ton bean (qui correspond à la première valeur bien sûr). Si c'est différent, tu lui affiches un message "Le champ input text est obligatoire...." avec une couleur rouge par exemple, à toi de voir...

    Bon courage.

  6. #6
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut
    Merci à vous

    L'affichage du message d'erreur s'affichera quand je clique sur un commandButton et la condition n'est pas vérifiée.

    J'ai utilisé du Javascript pour la comparaison mais du coup, le commandbutton ne s'exécute pas.

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par mcfly37 Voir le message
    Bonjour,

    Un petit bout de code pour illustrer tout ça?

    Sinon basiquement je pense que je créerais une méthode dans ton backBean qui renvoie false si la valeur de ta liste est la première et true sinon que je positionnerais dans le required de l'input avec un el.... enfin si c'est bien ce que tu veut faire.

    Cordialement

    Mcfly
    A noter que pour que ça marche, il faut absolument que la liste soit mise en immediate=true, sinon quand le bean voudra chercker la valeur sélectionnée dans la liste, celle-ci n'aura pas encore été transférée du composant vers le bean!

  8. #8
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut
    Merci voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
     <h:selectOneMenu id="aff" value="#{art.aff}"  immediate ="true" valueChangeListener="#{art.Change}"  style="height : 24px; width : 410px;" required="true" requiredMessage="Sélection l'état d'affectation de l'article">    
                            <f:selectItems value="#{etat.aff}"/>    
                        </h:selectOneMenu>
    et le code de mon bean
    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
     
    public boolean getChange(){
    	return this.change;
    	}
    public void seChange(boolean change){
    	this.change = change;
    }
     
     
    public void setAff(String aff)
    		{ 
    			this.aff=aff; 
    		} 
    		public String  getAff()
    		{ 
    			return aff;
    		}
     
    public void Change(ValueChangeEvent event)
    		{
    		   if (aff=="AFFECTE") 
    		   {
     
    			   System.out.print("false");
    		   }
    		   else
    		   {
    			   System.out.print("true");
    		   }
     
    		   // FacesContext.getCurrentInstance().renderResponse();
     
    		}
    mais çe me donne toujour la valeur true
    même si je choisis la valeur "AFFECTE" de ma liste

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    bases du langage: toujours utiliser equals() pour comparer des objet!

  10. #10
    Membre éprouvé
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Par défaut
    Merci monsieur,

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/04/2013, 14h51
  2. Réponses: 5
    Dernier message: 23/02/2009, 18h22
  3. L'inputText n'aime pas le selectOneMenu
    Par romaintaz dans le forum JSF
    Réponses: 1
    Dernier message: 03/04/2008, 17h03
  4. [VB6] générer un recordset qui n'est pas lier à un bdd
    Par damyrid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/06/2003, 17h48
  5. [Kylix] Impossible de lier
    Par Scoobs dans le forum EDI
    Réponses: 2
    Dernier message: 20/05/2003, 16h05

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