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 :

RegularExpressionValidator pour date avec heure


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut RegularExpressionValidator pour date avec heure
    Bonjour,
    Je souhaite effectuer un contrôle de saisie pour une date au format suivant : dd/MM/yyyy hh:mm.

    Pour cela j'ai utilisé une expression régulière que j'ai inséré dans un composant RegularExpressionValidator. Pour le moment la chaîne ne semble pas être correcte.


    Avez-vous des pistes?

    Merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <asp:RegularExpressionValidator ID="regvDBegin" 
                                            runat="server" 
                                            ControlToValidate="txtEditDBegin"
                                            ErrorMessage="RegularExpressionValidator" 
                                            ValidationExpression="([1-9]|0[1-9]|1[012])[/]([1-9]|0[1-9]|[12][0-9]|3[01])[/]([0-9]{4})[ ]([0-1][0-9]|2[0-3]):([0-5][0-9])">
     </asp:RegularExpressionValidator>

  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
    [0-9]{2}/[0-9]{2}/[0-9]{4} [0-9]{2}:[0-9]{2}

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut Expression moins permissive?
    Merci pour l'expression régulière. Je me demandais s'il n'existe pas quelque chose de moins permissif. Car dans ton exemple on autorise les valeur du type 99/99/2009 32:72.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ValidationExpression="[0-3]{1}[1-9]{1}/[0-1]{1}[1-9]{1}/[0-9]{4} [0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}"

  4. #4
    Membre expérimenté Avatar de g_tarik0010
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 186
    Par défaut
    Ce que je te propose c'est de remplacer RegularExpressionValidator par CompareValidator qui pourrais bien t'ètre plus util Voir le lien Suivant

  5. #5
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [0-3]{1}[1-9]{1}/[0-1]{1}[1-9]{1}/[0-9]{4} [0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}
    Le {1} ne sert à rien dans l'état, par défaut ce sera toujours le cas
    Sinon, tu ne peux pas faire les jours comme 10, 20 ou 30 avec cette expresion et tu peux aller au delà de 30 (idem pour les mois).

    Tu peux essayer avec quelque chose comme ceci, en adaptant le bloc concernant l'année au besoin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0[1-9]|[12][0-9]|3[01]/0[1-9]|1[012]/\d[0-9]
    Je ne traite que la date, pour l'heure on peut faire pareil évidemment

  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
    Citation Envoyé par Nuloprog Voir le message
    Merci pour l'expression régulière. Je me demandais s'il n'existe pas quelque chose de moins permissif. Car dans ton exemple on autorise les valeur du type 99/99/2009 32:72.
    Effectivement... mais de toutes façons, avec une regex tu es un peu limité, tu ne peux pas empêcher, par exemple, une saisie du genre "35/01/2009 27:15".
    Il vaudrait mieux gérer la validation manuellement dans un cas comme ça, par exemple avec un CustomValidator à la place du RegularExpressionValidator


    Citation Envoyé par StormimOn Voir le message
    Le {1} ne sert à rien dans l'état, par défaut ce sera toujours le cas
    Hum... effectivement

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Merci pour ces informations, j'ai pu trouver la solution.

    Cordialement

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

Discussions similaires

  1. [XL-2003] Difference entre 2 date (avec heure) en jours ouvrés
    Par imaril dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 30/01/2010, 14h40
  2. affichage date avec heure et minutes courantes
    Par sasseur dans le forum SAS Base
    Réponses: 4
    Dernier message: 04/03/2009, 16h48
  3. affichage des dates avec heure dans liste déroulante
    Par schwarzy2 dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/07/2008, 10h59
  4. [FB1.5] Trigger pour date et heure
    Par Mister Nono dans le forum SQL
    Réponses: 4
    Dernier message: 11/09/2007, 16h09
  5. [Oracle 9i] Date avec Heure + comparaison
    Par MinsK dans le forum Oracle
    Réponses: 8
    Dernier message: 21/11/2005, 12h18

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