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

C# Discussion :

Textbox, Vérifier si la date est valide. [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Par défaut Textbox, Vérifier si la date est valide.
    Bonjour,

    Je voudrais utiliser la fonction datetime.tryparse()

    En fait, un utilisateur rentre une date dans une textbox. Si la date n'est pas valide, Avertissement.

    Merci d'avance pour votre aide.

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DateTime date;
    if (!DateTime.TryParse(textBoxDate.Text, out date))
    {
        MessageBox.Show("La date est incorrecte !");
    }
    Si tu veux préciser le format, il faut utiliser DateTime.TryParseExact

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DateTime date;
    if (!DateTime.TryParse(textBoxDate.Text, out date))
    {
        MessageBox.Show("La date est incorrecte !");
    }
    Si tu veux préciser le format, il faut utiliser DateTime.TryParseExact
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private void textBox2_TextChanged(object sender, EventArgs e)
            {
                DateTime date;
     
                if (!DateTime.TryParse(textBox2.Text, out date))
                {
                    textBox3.Text = textBox2.Text;
                }
                else
                {
                    MessageBox.Show("La date est incorrecte !");
                }
    Je ne comprends pas très bien cette fonction DateTime. Si j'utilise votre méthode, dés que je rentre un chiffre, il met directement que la date n'est pas valide.

    Merci.

  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 Dedel_209 Voir le message
    Je ne comprends pas très bien cette fonction DateTime. Si j'utilise votre méthode, dés que je rentre un chiffre, il met directement que la date n'est pas valide.
    C'est parce que tu vérifies trop tôt... si tu vérifies la date dès que l'utilisateur commence à saisir quelque chose, au début la date ne sera forcément pas valide (puisqu'elle est incomplète). Il ne faut donc pas gérer l'évènement TextChanged, mais plutôt l'évènement Validating, qui est fait pour vérifier la validité de la saisie (il se produit quand la TextBox perd le focus)

    Sinon, pour saisir une date, il y a un meilleur moyen : le contrôle DateTimePicker, qui est fait pour saisir des dates...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Par défaut
    Citation Envoyé par tomlev Voir le message
    C'est parce que tu vérifies trop tôt... si tu vérifies la date dès que l'utilisateur commence à saisir quelque chose, au début la date ne sera forcément pas valide (puisqu'elle est incomplète). Il ne faut donc pas gérer l'évènement TextChanged, mais plutôt l'évènement Validating, qui est fait pour vérifier la validité de la saisie (il se produit quand la TextBox perd le focus)

    Sinon, pour saisir une date, il y a un meilleur moyen : le contrôle DateTimePicker, qui est fait pour saisir des dates...
    Un grand merci...Ça avance.

    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
    20
    21
    22
    23
    24
    25
    26
    private void textBox2_Validating(object sender, CancelEventArgs e)
            {
     
                DateTime date;
                if (!DateTime.TryParse(textBox2.Text, out date))
                {
     
                    MessageBox.Show("La date est incorrecte !");
     
                }
                else
                {
                    textBox3.Text = textBox2.Text;
                }
            }
     
            private void textBox2_TextChanged(object sender, EventArgs e)
            {
     
                if (textBox2.Text.Length == 2)
                {
                    textBox2.Text += "/";
     
                }
     
            }
    Après les deux premier chiffres, le slash se met correctement mais alors le curseur se positionne tout à gauche. Comment le laisser à droite du slash.

    Merci d'avance.

  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
    essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textBox2.SelectionStart = textBox2.Text.Length;

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

Discussions similaires

  1. Vérifier qu'une date est valide
    Par delph_le dans le forum SAS Base
    Réponses: 2
    Dernier message: 17/04/2014, 14h54
  2. Vérifier si une date est valide ou non
    Par Juju54350 dans le forum C#
    Réponses: 2
    Dernier message: 21/09/2010, 14h20
  3. Réponses: 6
    Dernier message: 12/01/2007, 21h34
  4. Comment vérifier qu'une date est nulle
    Par stressy dans le forum Access
    Réponses: 7
    Dernier message: 09/12/2005, 15h41
  5. tester si une date est valide
    Par Andry dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2002, 11h54

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