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

ASP.NET Discussion :

Valider qu'une ListBox n'est pas vide


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Par défaut Valider qu'une ListBox n'est pas vide
    Bonjour,

    Je cherche à controler qu'une ListBox n'est pas vide avant l'envois d'un formulaire
    J'ai donc mis un CustomValidator à cette ListBox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <asp:ListBox ID="LB_FONDEUR" runat="server" Width="300px" DataSourceID="DS_FONDEUR_SELECT" DataTextField="NOM" DataValueField="ID"></asp:ListBox>
     
    <asp:CustomValidator ID="CustomValidator2" runat="server"  ontrolToValidate="LB_FONDEUR" ErrorMessage="Requis" ForeColor="Red"
    OnServerValidate="CustomValidator2_ServerValidate" ValidationGroup="val_ok_cancel" Display="Dynamic"></asp:CustomValidator>
    Et voici le CS correspondant pour tester le nombre de ligne de la ListeBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    protected void CustomValidator2_ServerValidate(object source, ServerValidateEventArgs args)
            {
                if (LB_FONDEUR.Rows == 0)
                {
                    args.IsValid = false;
                }
                else
                {
                    args.IsValid = true;
                }
            }
    Mais cela ne fonctionne pas.
    Avez vous une idée du problème ?

    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Par défaut
    Bonjour,

    Désolé de vous relancer sur mon problème mais comme c'est urgent je me permet

    Avez vous une idée de qui ne va pas dans mon code ?
    Ou est-ce qu'il y aurait une autre solution pour contrôler que ma ListBox n'est pas vide avant l'envoi du formulaire.

    Merci

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Je ne comprends pas trop, si ta ListBox est vide, c'est que tu as un problème au niveau du binding et/ou au niveau de la source de données. Rien à voir avec la validation

    A moins que tu ne cherches à savoir si au moins une ligne a été sélectionnée avant la soumission du formulaire ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Par défaut
    La source de données ne renvoie pas forcément des données.
    Elle est alimentée dans la page temporairement en fonction d'autres sélections.

    Je ne cherche pas non plus à savoir si une ligne a été sélectionnée dans la ListBox mais uniquement si elle contient des lignes

    Merci

  5. #5
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Ok je vois ce que tu veux faire. Donc rajoute les attributs soulignés dans ton CustomValidator :
    Code ASPX : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:CustomValidator ID="CustomValidator2" runat="server"  SetFocusOnError="true" ValidateEmptyText="true" ControlToValidate="LB_FONDEUR" ErrorMessage="Requis" ForeColor="Red" OnServerValidate="CustomValidator2_ServerValidate" ValidationGroup="val_ok_cancel" Display="Dynamic"></asp:CustomValidator
    Ensuite, appelle la méthode Page.Validate afin de forcer la validation, dans l'évènement OnClick du bouton :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected void btnValidate_Click(object sender, EventArgs e)
    {
        Page.Validate();
        if (Page.IsValid)
        {
            // Si la page est valide...
        }
        else
        {
            // Si la page n'est pas valide...
        }
    }
    Et pour chipoter () tu peux écrire le contenu de la méthode CustomValidator2_ServerValidate en une seule ligne :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    protected void CustomValidator2_ServerValidate(object source, ServerValidateEventArgs args)
    {
        args.IsValid = this.LB_FONDEUR.Items.Count > 0;
    }
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Par défaut
    Super merci pour tout, je vais tester ça !

    Par je ne comprend pas pourquoi il y a le "Page.validate() " sur le bouton.
    Est-ce parceque c'est un CustomValidator et pas un RequiredFieldValidator ?

    Du coup le ErrorMessage="Requis" ne sert à rien, il faut donc indiquer le message d'erreur au niveau du "else" ?

    Merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/02/2013, 16h09
  2. [AC-2003] Vérifier que le résultat d'une requête (n')est (pas) vide
    Par pedrus16 dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/06/2009, 15h34
  3. Comment vérifier si une structure n'est pas vide
    Par colorid dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2008, 00h01
  4. Réponses: 10
    Dernier message: 15/01/2008, 12h03
  5. Champ ds état visible ssi il n'est pas vide !
    Par Fredri dans le forum Access
    Réponses: 11
    Dernier message: 20/12/2005, 12h15

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