Validation de date [Résolu]

Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
- - Dernière réponse : cs_warzet
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
- 28 janv. 2013 à 08:14
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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
3
Merci
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
---------------------

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 196 internautes nous ont dit merci ce mois-ci

Commenter la réponse de billou_13
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
4
0
Merci
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
Commenter la réponse de dodo7263
Messages postés
13821
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 octobre 2019
309
0
Merci
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
Commenter la réponse de Whismeril
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
1
0
Merci
Merci à vous tous qui avez eu l'obligeance de me répondre, je vérifie tout et je vous en informe
Commenter la réponse de cs_warzet