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

ASP.NET Discussion :

format date validator javascript?


Sujet :

ASP.NET

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par d�faut format date validator javascript?
    Bonjour,

    j'ai une textbox dans laquelle je dois rentrer une date sous la forme jj/mm/aaaa.

    j'aimerai faire un validator dessus afin de v�rifier le format de la date.
    comment puis je faire? j'aimerai utiliser javascript mais comment?

    Note : j'ai d�j� un un RangeValidator pour v�rifier que la date est bien au moins celle du jour, et le message de celui-ci s'affiche quand le format n'est pas bon, mais pour dire que "la date doit �tre post�rieure � aujourd'hui".

    Merci de m'aider.

  2. #2
    Expert confirm�
    Avatar de ced600
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Ao�t 2006
    Messages
    3 364
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 3 364
    Par d�faut
    Regarde l'objet DateTime, il doit posseder une m�thode qui fait cela :
    http://msdn2.microsoft.com/en-us/lib...me(VS.80).aspx

    j'aimerai utiliser javascript mais comment?
    Pourquoi ???

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par d�faut
    Citation Envoy� par ced600 Voir le message
    Pourquoi ???
    Pour directement valider le format de la date du c�t� du client...

  4. #4
    Expert confirm�
    Avatar de ced600
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Ao�t 2006
    Messages
    3 364
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 3 364
    Par d�faut
    Pourquoi en Javascript et pas en asp ?

  5. #5
    Membre �clair� Avatar de medtun.net
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par d�faut
    Oui il vaut mieux v�rifier la date du cot� client..
    Tu peux utiliser cette fonction :
    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
    27
    28
    29
    30
    31
    32
    33
    34
     function isDate(d) {
     // Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
     // Par Romuald
     
     if (d == "") // si la variable est vide on retourne vrai
     return true;
     
     e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");
     
     if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
     return false; // Si pas bon, retourne faux
     
     // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
     j = parseInt(d.split("/")[0], 10); // jour
     m = parseInt(d.split("/")[1], 10); // mois
     a = parseInt(d.split("/")[2], 10); // année
     
     // Si l'année n'est composée que de 2 chiffres on complète automatiquement
     if (a < 1000) {
     if (a < 89) a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
     else a+=1900;
     }
     
     // Définition du dernier jour de février
     // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
     if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
     else fev = 28;
     
     // Nombre de jours pour chaque mois
     nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);
     
     // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
     return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
     }

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par d�faut
    euh c'est quoi comme code ; du javascript je suppose?

    pardonne moi ma question "� la con", mais je d�bute en javascript et je commence tout juste � comprendre le C# alors...!

  7. #7
    Membre �clair� Avatar de medtun.net
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par d�faut
    Citation Envoy� par cyrano_de_bergerac Voir le message
    j'aimerai utiliser javascript mais comment?
    je t'ai donn� une fonction javascript qui permet de v�rifier des dates...
    bref
    1) mets la fonction que je t'ai donn� dans un fichier javascript ("jsFonctions.js" par exemple)
    2) entre les balises <head> de ta page aspx tu mets la ligne suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <script src="jsFonctions.js" language="javascript" type="text/javascript"></script>
    3) dans <body> tu mets le script suivant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script language="javascript" type="text/javascript">
    function verifier()
    {
        var bl= true;
        if(!isDate(document.getElementById('<%= txtDate.ClientID %>').value))
        {
            bl=false;
            alert('date non valide');
        }
        return bl;
    }        
    </script>
    bien entendu txtDate est le controle qui porte la date � v�rifier
    4) Tu fais appel � la fonction verifier() lors de l'�v�nement OnClientClick de ton controle validateur (par exemple un bouton ou un linkButton..)
    genre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <asp:Button runat="server" ID="btn" Text="ok" OnClientClick="javascript:return verifier();" />

  8. #8
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par d�faut
    et si tu utilisais le controle comareValidator en sp�cifiant l'op�rateur sur DataTypeCheck et Type � Date

  9. #9
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par d�faut
    ok merci pour vos r�ponses, �a marche!

    sinon j'aimerai que l'ann�e soit aaaa et jamais aa.

    dans ce cas, j'�cris mon regex comme suit :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4})$");
    ?

    merci

  10. #10
    R�dacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par d�faut
    Tu as test� ? C'est le moyen le plus rapide de savoir, non ?
    Besoin d'un MessageBox am�lior� ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les acc�s aux donn�es
    D�bogage efficace en .NET
    LINQ to Objects : l'envers du d�cor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribu�es - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  11. #11
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par d�faut
    Citation Envoy� par SaumonAgile Voir le message
    Tu as test� ? C'est le moyen le plus rapide de savoir, non ?
    ouaip �a marche!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 05/08/2009, 15h00
  2. Javascript autocompl�tion "format date" "onchange"
    Par Nuloprog dans le forum G�n�ral JavaScript
    R�ponses: 0
    Dernier message: 13/05/2009, 12h34
  3. Probl�me format date et r�gle de validation
    Par piere42 dans le forum VBA Access
    R�ponses: 1
    Dernier message: 27/02/2009, 13h17
  4. format date validator javascript?
    Par cyrano_de_bergerac dans le forum C#
    R�ponses: 1
    Dernier message: 21/12/2007, 14h06
  5. validation fomat date en javascript
    Par badoress dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 03/10/2007, 11h35

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