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

Windows Forms Discussion :

Utilisation de error Provider


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut Utilisation de error Provider
    Comment puis je vérifier si un champs est numerique ? et s'il est vide ? avec le error^provider ? est ce que je dois créer un errorProvider pour tous les textbox de mon formulaire ou chacun aura un son propre error provider ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ErrorProvider sert seulement à afficher l'erreur, pas à faire la validation. Il suffit que tu en mettes un seul sur la form, pas besoin d'en mettre un par contrôle. C'est très facile à utiliser, regarde dans la doc pour un exemple.

    Pour tester si une valeur est numérique, il y a différentes méthodes...
    Tu peux utiliser Int32.TryParse (pour un entier) ou Double.TryParse (pour un double ou flottant), ou alors tu peux référencer l'assembly Microsoft.VisualBasic pour utiliser la méthode Information.IsNumeric. Ou alors tu peux aussi t'en sortir avec la méthode Convert.ToInt32 (ou Convert.ToDouble), avec un try/catch

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    Ok, j'ai pu utilisé le error provider, pour tester si des champs sont numérique (isDigit)ou letter(isLetter), mais j'ai un autre petit soucis par rapport a autre champs qui ne doivent pas etre vide, le error provider ne detetcte pas ca, ce que je compte faire c'est de mettre deux error providers, le premier pour tester la validité des champs avec l'evenement validating, et l'autre au moment de la validation du formulaire pour tester si les champs sont vides ???,

    j'ai un champ qui contient des lettres + nombres + le caractere "/" ? je sais pas si vous avez une idée sur comment puis je vérifier la validité de ce champs ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Msysteme Voir le message
    j'ai un autre petit soucis par rapport a autre champs qui ne doivent pas etre vide, le error provider ne detetcte pas ca, ce que je compte faire c'est de mettre deux error providers, le premier pour tester la validité des champs avec l'evenement validating, et l'autre au moment de la validation du formulaire pour tester si les champs sont vides ???,
    Encore une fois, le ErrorProvider ne détecte rien du tout, il ne sert qu'à l'affichage de l'erreur. Pas la peine d'en créer un 2e pour tester autre chose, tu peux utiliser le même, puisque de toutes façons ce n'est pas lui qui fait le test.

    Pour tester si le champ est vide, utilise la méthode String.IsNullOrEmpty

    Citation Envoyé par Msysteme Voir le message
    j'ai un champ qui contient des lettres + nombres + le caractere "/" ? je sais pas si vous avez une idée sur comment puis je vérifier la validité de ce champs ?
    avec une expression régulière peut-être...

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    mais quel evenement je vais utilisé la chaine pour detecter si le champ est vide ?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Msysteme Voir le message
    mais quel evenement je vais utilisé la chaine pour detecter si le champ est vide ?
    Sur l'évènement TextChanged par exemple, ou alors lors de la validation du formulaire.

  7. #7
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Par défaut
    Citation Envoyé par Msysteme Voir le message
    mais quel evenement je vais utilisé la chaine pour detecter si le champ est vide ?
    Bah concrétement l'ERROR Provider comme dit plus haut va te servir par exemple avant un enregistrement a vérifier si tout tes champs sont bien formés ou ne sont pas nulls pour certain si en base les NULLABLES ne sont pas activés.

    Donc tu définit une méthode propre dans le genre :
    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
     
    private bool VerificationSaisieObligatoire()
    {
             // Par défaut , le control est négatif
             bool bChange = false;
     
             string sMessage = Properties.Resources.MessageSaisieObligatoire;
     
     
             if (_AmieAdresseLivraison != null && _AmieAdresseLivraison.SelectedIndex < 1)
             {
                ErrorProviderCommande.SetError(CmbAdresseLivraison, sMessage);
             }
             else
             {
                bChange = true;
             }
             return bChange;
    }
    Avec ce booléen tu sauras si tes champs sont bien remplis avec un point d'exclamation rouge près de ton control (Combobox ,TextBox,etc )


Discussions similaires

  1. Réponses: 0
    Dernier message: 03/12/2013, 09h16
  2. [Débutant] error provider et boite à outil
    Par cyriane dans le forum VB.NET
    Réponses: 3
    Dernier message: 11/05/2012, 09h52
  3. Expression reguliere et error provider
    Par Msysteme dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/04/2009, 02h20
  4. Réponses: 2
    Dernier message: 11/09/2008, 13h45
  5. Réponses: 3
    Dernier message: 11/10/2005, 23h27

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