Validation de date [Résolu]

Signaler
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
-
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
-
Bonjour à tous,
dans le cadre d'une application, j'ai fait ceci pour être sur d'avoir un numérique
                                    if (float.TryParse(this.txtCoefficient.Text, out temp))
                                    {
                                        temp = float.Parse(this.txtCoefficient.Text);
                                        if (temp < 0)
                                        {
                                            MessageBox.Show("Le Coefficient doit être \nPositif supérieur à 0", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                            this.txtCoefficient.Text = " ";
                                            this.txtCoefficient.SelectAll();
                                            this.txtCoefficient.Focus();
                                        }
                                        else
                                        {
                                            //MonCode
                                        }//Coefficcient Positif non nul
                                    }//Le Coefficient est un numérique
                                    else
                                    {
                                        MessageBox.Show("Vous n'avez pas entré\nun nombre pour le Coefficient", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                        this.txtCoefficient.Text = " ";
                                        this.txtCoefficient.Focus();
                                    }


Ma question est savoir comment je devrais me prendre s'il s'agit d'une date?
Merci

4 réponses

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
Bonsoir,

Je voterai aussi pour l'utilisation du DateTime.TryParse(..) à la place de l'utilisation d'une RegEx.
Tout ça partant du principe que plus le framework me déleste d'un travail, plus je choisis cette voie

Tu as plein d'exemple en bas de la page MSDN: ici.

J'ajouterai une petite remarque sur ton code:
Ta ligne:
temp = float.Parse(this.txtCoefficient.Text);

est de trop car la ligne:
float.TryParse(this.txtCoefficient.Text, out temp)

renseigne déjà la variable temp (c'est pour cela qu'elle est passé en tant que paramètre de sortie.
Tu peux donc supprimer le float.Parse.

Bon week-end,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
5
Salut,

Pour tester le format date ou même les caractères numériques, je te conseille de regarder du côté des regex (regular expression).
Relativement facile à comprendre et je trouve très efficace.

@++

SD
Messages postés
14582
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 août 2020
426
Bonsoir,

je rejoins Dodo mais à moitié, les regex c'est trés éfficace, mais au début j'en ai un peu bavé.
Il y a ce code qui m'aide bien.

Sinon tu as DateTime.TryParse().



Whismeril
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
1
Merci à vous tous qui avez eu l'obligeance de me répondre, je vérifie tout et je vous en informe