VERIFICATION DE DATE JJ/MM/AAAA

traversbourquin Messages postés 16 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 26 novembre 2004 - 29 oct. 2004 à 21:11
dircom13 Messages postés 10 Date d'inscription jeudi 20 janvier 2005 Statut Membre Dernière intervention 11 avril 2009 - 12 mai 2011 à 00:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27140-verification-de-date-jj-mm-aaaa

dircom13 Messages postés 10 Date d'inscription jeudi 20 janvier 2005 Statut Membre Dernière intervention 11 avril 2009
12 mai 2011 à 00:20
A propos de la question 1 dans le cas ou cela intéresserait un débutant comme moi je me réponds à moi même.

- dans le champs suivant avec :

onFocus="document.forms[FormActif].elements[InputActif].focus()"

on renvoi au champs précédent
- FormActif = valant nom du formulaire
- InputActif = valant id du champs précédent

S'il y a plus simple je suis preneur
dircom13 Messages postés 10 Date d'inscription jeudi 20 janvier 2005 Statut Membre Dernière intervention 11 avril 2009
7 mai 2011 à 23:01
Bonsoir,
Je prépare le site de notre société et dans un calculateur de pénalités pour non paiement à l'échéance (3 méthodes en France) et je veux utiliser le script de traversbourquin.

Question 1 :
- comment conserver le focus à l'input à l'origine de l'erreur ?
J'ai trouvé ceci :
document.getElementById('date9').focus();
avec date9 l'id de l'input mais ne fonctionne pas

Question 2 :
- Aimant bien citer mes sources mais n'étant pas un "pro" que dois-je faire figurer et ou ?

A vous lire et merci
blacknaske Messages postés 4 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 23 mars 2010
23 mars 2010 à 16:35
slt je cherche un script qui permet de voir si l'utilisateur est majeur ou non.pour savoir par la suite si (dans le cas d'une réservation d'un restaurant)l'internaute peux ou non consommer de l'alcool

le formulaire :
1page de réservation pour un repas une personne
Au final envoyer un formulaire correct:
a)première partie(coordonnées)
-nom,prénom
-date de naissance valide
-date de réservation futur + heure
b)choix des menus
3 types de menu
1)formule 1 12€ plat et dessert ((désactive entrée)
2)formule 2 18€ entrée +plat + dessert
3)A la carte(liste déroulante,entrée,menu,dessert)
c) choix des boissons
Boissons
soit sans alcool gratuit
vin du patron 5€
selection vin 10€

Apero et digestif 2,5€
Si personne mineur,nepeut pas choisir les boisons ce sera sans alcool et pas de digestif appero
Si la datr de l'anniverssaire == date de réservation apero offert d'office
Si possible calcule duprix en temps réel
#######################################################################
bouton envoyer (uniquement possible si tt est rempli correctement)

voila merci pour toute aide
cs_cathy1 Messages postés 3 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 11 décembre 2009
11 déc. 2009 à 09:26
Bonjour,

Je cherchais un moyen de valider une date pour mon formulaire et je suis tombée par hasard sur ce script. Je tenais à féliciter l'auteur car le script fonctionne à merveille et est très facile à adapter.
Alors encore bravo.!!
fenodmz Messages postés 1 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 1 août 2007
1 août 2007 à 14:27
Salut !
Moi aussi j'ai une autre question : et si les dates étaient séparé en trois champ : comme ceci ?
je n'ai pas de script pour tester la validité de ce formulaire. et dans la fonction "validation" il n'y a pas de test de validité de la date.

<form action="fic.php" name="formulaire" onsubmit="return validation();" method="post">
Date de création entre le,
<select name="jourcrea1" class="inputmenuderoul2"><?echo $szMenuJour?></select> / <select name="moiscrea1" class="inputmenuderoul2"><?echo $szMenuMois?></select> / <select name="anneecrea1" class="inputmenuderoul2"><?echo $szMenuAnnee?></select>,

----

Effacer <">,
Rechercher<">

</form>

Besoin d'aide d'urgence !
Merci beaucoup !
coej Messages postés 1 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 23 juin 2007
23 juin 2007 à 14:54
Bonjour traversbourquin,

t'as juste oublié de verifier la date du jour. La personne qui n'est pas née est quant même validée.
Tres bien malgrés ça.
daymonns Messages postés 1 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 14 octobre 2006
14 oct. 2006 à 13:50
Franchement très bien, c'est juste ce que je cherchais. Ni plus ni moins pas de fioritures :)
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
12 oct. 2005 à 15:40
Moi j'ai trouvé aussi cette fonction supere simple et facile à adapter alors merci Magidev !!!
cs_ladry Messages postés 5 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 24 juillet 2008
3 oct. 2005 à 21:28
Moi j'ai trouvé le code de Magidev niquel. Je l'ai posé dans une page, j'ai pas du tout galéré pour l'adapter.
Merci à toi.
traversbourquin Messages postés 16 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 26 novembre 2004
30 oct. 2004 à 23:12
> Vérifier la date ET avertir l'utilisateur de son erreur
Très bien ! Voici donc le code ad hoc:


<script type="text/javascript">
var laDate,annee,Mois= new Array("de janvier","de février","de mars","d'avril","de mai","de juin","de juillet","d'août","de septembre","d'octobre","de novembre","de décembre"),msg="Veuillez introduire votre date au format JJ/MM/AAAA \n(par exemple : 12/02/1981)",msg1=".\nVeuillez indiquer un nombre compris entre 01 et ",msg2="Nouvelle saisie de la date";

function testDateValide(saisie) {
if (saisie == "") {alert(msg);return false;};
saisie = (saisie).split("/");
if ((saisie.length != 3) || isNaN(parseInt(saisie[0])) || isNaN(parseInt(saisie[1])) || isNaN(parseInt(saisie[2]))) {alert(msg);return false};
if ((saisie[0].length !=2) || (eval(saisie[0]) > 55) || (saisie[1].length !=2) || (saisie[2].length !=4)) {alert(msg);return false};
laDate = new Date(eval(saisie[2]),eval(saisie[1])-1,eval(saisie[0]));
annee = laDate.getYear();
if ((Math.abs(annee)+"").length < 4) annee = annee + 1900;
if ((laDate.getDate() != eval(saisie[0])) && (eval(saisie[1]<13))) {if (annee != eval(saisie[2])) {annee--};alert("Le mois "+ Mois[eval(saisie[1])-1] + " ne comporte que " + ((saisie[0]) - laDate.getDate()) + " jours en "+ annee + msg1 + (eval(saisie[0])-laDate.getDate()) + ".");return false};
if (laDate.getMonth() != eval(saisie[1]-1)) {alert("Il n'y a jamais eu " + eval(saisie[1]) + " mois dans cette année" + msg1 + "12.");return false};
return ((laDate.getDate() eval(saisie[0])) && (laDate.getMonth() eval(saisie[1])-1) && (annee == eval(saisie[2])));
}
</script>

<form name="form1" onSubmit="!testDateValide(form1.date.value)?alert(msg2):function(){}">
Date (au format jj/mm/aaaa) :
</form>
traversbourquin Messages postés 16 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 26 novembre 2004
30 oct. 2004 à 16:39
D'une part, je n'ai jamais écrit que ce code était mieux que le tien.
D'autre part, il est très facile à adapter pour situer l'erreur. Il suffit simple d'insérer alert('le_type_erreur') avant chacun des 'return false'

Très cordialement
Utilisateur anonyme
30 oct. 2004 à 16:12
LE BUT DE CE CODE :

Vérifier la date ET avertir l'utilisateur de son erreur, à savoir où il s'est trompé. Ton code je le connais et ca ne fait pas ca, ca dit seulement si c'est vrai ou non, mais le but du mien c'est de montrer ou l'utilisateur s'est trompé.

Donc avant de poster des Mieux Celui-ci ou Mieux celui-la se serait bien de lire les commentaires de codes, merci
traversbourquin Messages postés 16 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 26 novembre 2004
29 oct. 2004 à 21:23
Je suis désolé ! Le copier-coller m'a joué un mauvais tour !
Voici donc le code correct :

<script>
function testDateValide(saisie) {
if (saisie == "") return false;
saisie = (saisie).split("/");
if ((saisie.length != 3) || isNaN(parseInt(saisie[0])) || isNaN(parseInt(saisie[1])) || isNaN(parseInt(saisie[2]))) return false;
var laDate = new Date(eval(saisie[2]),eval(saisie[1])-1,eval(saisie[0]));
var annee = laDate.getYear();
if ((Math.abs(annee)+"").length < 4) annee = annee + 1900;
return ((laDate.getDate() eval(saisie[0])) && (laDate.getMonth() eval(saisie[1])-1) && (annee == eval(saisie[2])));
}
</script>

<form name="form1" onSubmit="testDateValide(form1.date.value)?alert('date correcte !'):alert('date incorrecte !');">
Date (au format jj/mm/aaaa) :
</form>
traversbourquin Messages postés 16 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 26 novembre 2004
29 oct. 2004 à 21:11
Beaucoup plus court et tout aussi performant :

<script>
function isDateValid(saisie) {
if (saisie == "") return false;
saisie = (saisie).split("/")
if ((saisie.length != 3) || isNaN(parseInt(saisie[0])) || isNaN(parseInt(saisie[1])) ||

isNaN(parseInt(saisie[2]))) return false
var laDate = new Date(eval(saisie[2]),eval(saisie[1])-1,eval(saisie[0]))
var annee = laDate.getYear()
if ((Math.abs(annee)+"").length < 4) annee = annee + 1900
return ((laDate.getDate() eval(saisie[0])) && (laDate.getMonth() eval(saisie[1])-1) && (annee

eval(saisie[2])))
}
</script>

<form name="form1" onSubmit="isDateValid(form1.date.value)?alert('date correcte !'):alert('date

incorrecte !');";">
Date (au format jj/mm/aaaa) :
</form>
Rejoignez-nous