Test de valeur vide pour des textbox sur un formulaire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 23 004 fois - Téléchargée 31 fois

Contenu du snippet

Voici une petite fonction simple qui test si les TextBox d'un formulaire contient une valeur ou pas.

cette petite fonction me sert pour la validation avant l'insertion des champs d'une base de données intedisant les nulls.

Source / Exemple :


'argument ObjControl est un tableau pour les différents textbox du formulaire
    Function TestVide(ByVal objControl() As TextBox) As Boolean
        'initialisation des variables
        'i pour pour parcourir les valeurs du tableau
        Dim i As Integer
        'msgErreur pour le message d'erreur des textbox vide
        Dim msgErreur As String = "Vérifier :" & ControlChars.Cr
        'assigne vrai la fonction
        TestVide = True
        'boucle de test du tableau de textbox
        For i = 0 To objControl.Length - 1
            'verification de la longueur de chaine ou s'il n'y a pas d'espace pour le premier caractère pour chaque l'element du tableau
            If objControl(i).TextLength = 0 Or objControl(i).Text = Chr(32) Then
                'si textbox="" alors nom du textbox qui est en erreur
                msgErreur &= ">> " & objControl(i).Name & " est vide" & ControlChars.Cr
                'assigne faux a la fonction car il y a erreur
                TestVide = False
            End If
        Next
        ' test de l'assignation de la fonction
        ' si faux alors affiche tout les champs en erreur dans le message
        If Not TestVide Then MessageBox.Show(msgErreur, "Rapport d'erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
        'retourne l'appel de la fonction en vrai ou faux
        Return TestVide

    End Function

Conclusion :


la fonction peut etre completer avec un regex en fonction de la valeur des textbox pour une base de donnée

on peut appeler la fonction de cette facon avec un button_click

Dim objControl() As TextBox = {txtSociete, txtAdresse, txtCodePostal, txtVille, txtTelephone}
If TestVide(objControl) Then insertion dans la base de donnée

ps
j'ai 9 ans et sa fait 15 jours que je fais du vb.net avec visual studio et sans l'aide mon père
j'ai beaucoup lu sur le forum aussi
j'attend les remarques et les critiques de tout le monde

a bientot
alessio

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
6 octobre 2011

Bonjour,

Je suis nouveau et je fais un ptit test sur le textBox et j'aimerais beaucoup si quelqu'un pouvais m'aider en cas de bloquage sur un code
merci d'avance
Messages postés
5
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
4 juin 2008

Bonjour,

Est-ce qu’il est possible de faire la vérif sur des textbox (texte ou numérique) et des combobox ?

J’ai essayé en changeant TextBox par Control dans :
Function TestVide(ByVal objControl() As TextBox) As Boolean

Ça fonctionne tel quel tant que c’est du texte (textbox ou combobox). Par contre, dès que je dois rentrer un chiffre, j’ai un message d’erreur disant que l’exception StackOverFlow n’a pas été gérée sur la ligne 13 du code mis par nashouille.

Merci de votre aide
Messages postés
1018
Date d'inscription
samedi 22 mars 2003
Statut
Membre
Dernière intervention
24 juin 2008

Biensur elle valide tout, c'etait juste pour avoir un autre exemple. De plus elle permet de voir l'utilisation du CTYPE, il y a aussi l'INDEXOF, le TYPEOF, ou bien meme de passer par le tostring de la textbox. Ca peut donner des idées.
Messages postés
21
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
11 juillet 2008

bonjour liquide

je trouve cette version de la fonction tres bien. mais elle valide la totalité du formulaire, alors qu'avec la mienne je passe les textbox dans un tableau pour recuperer que ce je veux controler.

a bientot
alessio
Messages postés
1018
Date d'inscription
samedi 22 mars 2003
Statut
Membre
Dernière intervention
24 juin 2008

salut, bonne petite fonction, j'en ai une adapté a ta solution sans pour autant devoir lui rentrer un tableau d'objet. :
Function TestVide() As Boolean
Dim Obj As Object

Dim msgErreur As String = "Vérifier :" & ControlChars.CrLf
TestVide = True

For Each Obj In Me.Controls
If TypeOf Obj Is TextBox Then
Dim m_Textbox As TextBox = CType(Obj, TextBox)
If m_Textbox.ToString.Length <> 0 Or m_Textbox.ToString.IndexOf(Chr(32)) > -1 Then
msgErreur &= ">> " & m_Textbox.Name & " est vide" & ControlChars.Cr
TestVide = False
End If
End If
Next
If Not TestVide Then MessageBox.Show(msgErreur, "Rapport d'erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return TestVide
End Function



@+
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.