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

VB.NET Discussion :

Fonction de validation sur TextBox


Sujet :

VB.NET

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut Fonction de validation sur TextBox
    Bonjour,

    J'utilise VB 2008. J'ai une form qui possède plusieurs TextBox sur lesquelles une fonction de validation métier est effectuée. Cette validation est exécutée sur l'événement "TextChanged" de la TextBox.

    Lors du chargement de la form, des données peuvent être insérées dans les TextBox et donc la fonction de validation est alors appelée.
    Comme il s'agit de réafficher dans la form des données déjà validées, je voudrais éviter que l'appel à la fonction se fasse.

    J'ai pensé à 2 possibilités que je ne sais pas mettre en pratique :
    - soit utiliser un autre événement sur la TextBox pour appeler la validation, un événement qui se serait pas appelé lors du chargement de la form. Mais lequel ?
    - soit inclure dans la fonction de validation un test disant que si la form est en train d'être chargée, on ne fait pas les vérifs.

    Merci de votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Points : 95
    Points
    95
    Par défaut
    Bonjour,

    Tu peux désactiver l'évènement TextChanged, lors de la validation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RemoveHandler tonTextBox.TextChanged, AddressOf TaFonctionDeValidation
    A la fin de la fonction, tu le réactive :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddHandler tonTextBox.TextChanged, AddressOf TaFonctionDeValidation

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    l'idée de cougarg est très bonne je n'y avais pas pensé.

    Pour ma part j'utilise une variable booléenne qui me dit si la forme est construite.
    Quand je rentre dans l'évènement load de la forme je mets la variable bFormConstruite à false, après j'initialise la form, et juste avant de sortir de l'évènement load je la met à true.
    Dans les fonctions de validation je commence par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not bFormConstruite then exit function
    de cette manière aucune des méthodes ne s'exécute...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    Je préfère aussi la méthode de Sankasssss.
    Ajouter/Supprimer les évènements ça comporte des problèmes : faire attention aux abonnements doubles, mais surtout se taper une méthode dans le lequel on va abonner/désabonner en dur les handlers, chose déjà faite dans le designer en plus. On pourrait imaginer un peu de reflection pour automatiser tout ça mais ça risquerait de devenir imcomprehensible.
    En déportant, la condition dans l'event tu respecteras en plus un principe de l'objet : la délégation.

    Bon courage,

  5. #5
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Et si au lieu de subir le positionnement des handlers dans le designer par VS, on les gérer dans le load "à la main" ?

    Ca serait quand même beaucoup plus simple.

    Cdt.

  6. #6
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut
    Merci de vos réponses.

    Je pense que je vais utiliser la méthode de Sankass qui me parait plus facile à utiliser

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

Discussions similaires

  1. Règle de validation sur les taches en fonction du whatId
    Par epeichette dans le forum Salesforce.com
    Réponses: 2
    Dernier message: 04/06/2012, 16h33
  2. Réponses: 1
    Dernier message: 10/08/2011, 10h33
  3. validate sur textbox suivi de setfocus ?
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/03/2010, 11h17
  4. Validation sur un textbox
    Par kakrocq dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 10/04/2007, 23h21
  5. ma fonction marche plus sur le serveur...
    Par CDRIK dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/10/2004, 04h24

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