begin process at 2012 05 27 01:56:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date/Heure

 > VALIDER UNE DATE JJ/MM/AAAA

VALIDER UNE DATE JJ/MM/AAAA


 Information sur la source

 Description

Ce code est une modification d'un source fait par seren (bon boulot mec) mais il manqué un contrôle IsDate pour les années bissextile ou par exemple pour un  31/04.

j'ai egalement préfére le format jj/mm/aaa ... a part ça, peu de changement sur son code qui marche tres bien.

Merci Seren    ;o)

Source

  • <%
  • 'Fonction de vérification de date au format JJ/MM/AAAA
  • Function checkdate(d)
  • res=InStr(d,"/")
  • If res>0 Then
  • jour=Mid(d,1,res-1)
  • If IsNumeric(jour) Then
  • If jour>0 And jour<32 Then
  • res2=InStr(res+1,d,"/")
  • If res2>0 Then
  • mois=Mid(d,res+1,res2-res-1)
  • If IsNumeric(mois) Then
  • If mois>0 And mois<13 Then
  • an=Mid(d,res2+1,Len(d))
  • If IsNumeric(an) Then
  • If an<2099 Then
  • msg="Format valide"
  • Else
  • msg="Année non valide"
  • End If
  • Else
  • msg="Année non valide"
  • End If
  • Else
  • msg="Mois non valide"
  • End If
  • Else
  • msg="Mois non valide"
  • End If
  • Else
  • msg="Format non valide (JJ/MM/AAAA)"
  • End If
  • Else
  • msg="Jour non valide"
  • End If
  • Else
  • msg="Jour non valide"
  • End If
  • Else
  • msg="Format non valide (JJ/MM/AAAA)"
  • End If
  • If msg<>"Format valide" Then
  • checkdate=msg
  • Response.Redirect("erreur.asp")
  • Else
  • checkdate=True
  • If IsDate(d) = False Then
  • Response.Redirect("erreur.asp")
  • End If
  • End If
  • End Function
  • %>
<%
'Fonction de vérification de date au format JJ/MM/AAAA
Function checkdate(d)

res=InStr(d,"/")
If res>0 Then
    jour=Mid(d,1,res-1)
    If IsNumeric(jour) Then
        If jour>0 And jour<32 Then
            res2=InStr(res+1,d,"/")
            If res2>0 Then
                mois=Mid(d,res+1,res2-res-1)
                If IsNumeric(mois) Then
                    If mois>0 And mois<13 Then
                        an=Mid(d,res2+1,Len(d))
                        If IsNumeric(an) Then
                            If an<2099 Then
                                msg="Format valide" 
                            Else
                                msg="Année non valide"
                            End If
                        Else
                            msg="Année non valide"
                        End If
                    Else
                        msg="Mois non valide"
                    End If
                Else
                    msg="Mois non valide"
                End If
            Else
                msg="Format non valide (JJ/MM/AAAA)"
            End If
        Else
            msg="Jour non valide"
        End If
    Else
        msg="Jour non valide"
    End If
Else
msg="Format non valide (JJ/MM/AAAA)"
End If
If msg<>"Format valide"  Then
checkdate=msg
Response.Redirect("erreur.asp")
Else
checkdate=True
If  IsDate(d) = False Then
Response.Redirect("erreur.asp")
End If
End If

End Function 
%>



 Sources de la même categorie

CONVERSION D'UNE DATE/HEURE STANDARD VERS DATE/HEURE CONFORM... par processus
CALCUL DE L'AGE D'UNE PERSONNE (ASP VBSCRIPT) par bluedemon
CONVERSION DE GMT À LOCAL ET DE LOCAL À GMT par revolt
Source avec Zip CALENDRIER DYNAMIQUE AVEC JOURS FERIES par label97
SAISIR DATE FR DANS MYSQL par jeckel

Commentaires et avis

Commentaire de Warny le 29/10/2003 17:15:01

Salut,
Le problème de ta fonction est qu'elle ne suit que le système de date français. On peut avoir besoin de dates au format américain (mm/dd/yyyy) au format suisse (dd-mm-yyyy) ou les plus exotiques du monde.
Je suis plus partant pour des fonctions simple, mais si elle ne donnent pas la position de l'erreur. Du genre :

On error resume next
  server.language
  d = Cdate(d)
  if err.number &lt;&gt; 0 then
     'on gère l'erreur, la date est fausse
  end if
On error goto 0

comme ça d devient une date à part entière, plus maniable que n'importe quelle chaine de caractère.
Si quelqu'un connait le truc qui permet de supplanter les valeurs de format système en fonction de la langue renvoyée par le navigateur, je suis preneur.

Commentaire de Chrigou le 30/10/2003 08:37:07

Salut Warny,
Ne serait-ce pas Session.LCID que tu aimerais utiliser ?
if Navigateur = "Fr" then
  Session.LCID = 4108
else... (ou select case)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales