Vérifier une date dans un formulaire
Résolu/Fermé
dlgforum
Messages postés
10
Date d'inscription
vendredi 23 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2008
-
23 nov. 2007 à 20:28
dlgforum Messages postés 10 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 21 avril 2008 - 25 nov. 2007 à 18:44
dlgforum Messages postés 10 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 21 avril 2008 - 25 nov. 2007 à 18:44
A voir également:
- Vérifier une date dans un formulaire
- Verifier un lien - Guide
- Formulaire de réclamation facebook - Guide
- Comment ouvrir un fichier dat - Guide
- Verifier compatibilite windows 11 - Guide
8 réponses
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
24 nov. 2007 à 15:13
24 nov. 2007 à 15:13
Salut David,
Exactement. Pour ton autre question qui suit la première je te renvoie sur le lien suivant qui t'expliquera en détails la bonne façon d'empêcher (ou de valider) l'envoi d'un formulaire par le JavaScript :
https://openweb.eu.org/articles/validation_formulaire/
Je te donne quand même l'exemple qui m'a permis de vérifier le bon fonctionnement :
L'auteur précise bien que cette méthode de contrôle doit constituer un plus ; côté serveur il vaudra mieux réitérer ce contrôle. ;-)
Je t'emprie.
Exactement. Pour ton autre question qui suit la première je te renvoie sur le lien suivant qui t'expliquera en détails la bonne façon d'empêcher (ou de valider) l'envoi d'un formulaire par le JavaScript :
https://openweb.eu.org/articles/validation_formulaire/
Je te donne quand même l'exemple qui m'a permis de vérifier le bon fonctionnement :
<body> <script type="text/javascript"> function validation(date) { var date1 = new Date(2007, 11, 24); var date2 = new Date(2007, 11, 30); if(!(date >= date1 && date <= date2)) { alert("La date dépasse les limites, le formulaire ne sera pas envoyé."); return false; }else { return true; } } </script> <form action="blabla.htm" method="post" onsubmit="return validation(new Date(2007, 12, 10))"> <input type="submit" value="Envoyer" /> </form> </body>Note que j'ai inversé la condition => pas compris entre => !(condition ok)
L'auteur précise bien que cette méthode de contrôle doit constituer un plus ; côté serveur il vaudra mieux réitérer ce contrôle. ;-)
Je t'emprie.
vignemail1
Messages postés
1246
Date d'inscription
vendredi 8 octobre 2004
Statut
Contributeur
Dernière intervention
13 septembre 2019
259
23 nov. 2007 à 21:55
23 nov. 2007 à 21:55
regarde vers le mot clé SQL between
dlgforum
Messages postés
10
Date d'inscription
vendredi 23 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2008
23 nov. 2007 à 22:04
23 nov. 2007 à 22:04
merci pour la réponse mais je souhaite que le contrôle se fasse au moment de la soumission du formulaire et non après envoi de la page au serveur..David
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
24 nov. 2007 à 00:45
24 nov. 2007 à 00:45
Salut,
Je me suis amusé à faire un petit test assez concluent :
=> "X compris entre X1 et X2" c'est "X>=X1 && X<=X2". Les bornes étant incluses. :-)
En espérant avoir répondu à la question.
Je me suis amusé à faire un petit test assez concluent :
var date1 = new Date(2007, 11, 24); var date2 = new Date(2007, 11, 30); var dateMilieu = new Date(2007, 11, 28); var dateAvant = new Date(2007, 11, 20); var dateApres = new Date(2007, 12, 10); if(dateMilieu >= date1 && dateMilieu <= date2) { alert("dateMileu est bien compris entre les 2 dates"); } if(dateAvant >= date1 && dateAvant <= date2) { alert("Mince, ça ne marche pas pour dateAvant"); } if(dateApres >= date1 && dateApres <= date2) { alert("Mince, ça ne marche pas pour dateApres"); }Ce code affiche "dateMileu est bien compris entre les 2 dates", ce qui signifie qu'il suffit de comparer les dates comme s'il s'agissait de nombres, de (chaînes de) caractères,...
=> "X compris entre X1 et X2" c'est "X>=X1 && X<=X2". Les bornes étant incluses. :-)
En espérant avoir répondu à la question.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dlgforum
Messages postés
10
Date d'inscription
vendredi 23 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2008
24 nov. 2007 à 12:09
24 nov. 2007 à 12:09
merci beaucoup pour la rapidité de la réponse.
Comme je suis novice dans ce domaine, comment je peux à la soumission d'un formulaire faire cette comparaison.
Je pense que dateFormulaire sera X.
Merci
Comme je suis novice dans ce domaine, comment je peux à la soumission d'un formulaire faire cette comparaison.
Je pense que dateFormulaire sera X.
Merci
dlgforum
Messages postés
10
Date d'inscription
vendredi 23 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2008
25 nov. 2007 à 12:21
25 nov. 2007 à 12:21
Merci mais j'ai donc testé ce code et avec l'exemple suivant ça me renvoie systematiquement vers la page blabla dans tous les cas de date
<body>
<script type="text/javascript">
function validation(date) {
var date1 = new Date(2007, 11, 24);
var date2 = new Date(2007, 11, 30);
if(date <= date1 && date >= date2) {
alert("La date dépasse les limites, le formulaire ne sera pas envoyé.");
return false;
}else {
return true;
}
}
</script>
<form action="blabla.htm" method="post" onsubmit="return validation(new Date(2007, 11, 15))">
<input type="submit" value="Envoyer">
</form>
</body>
<body>
<script type="text/javascript">
function validation(date) {
var date1 = new Date(2007, 11, 24);
var date2 = new Date(2007, 11, 30);
if(date <= date1 && date >= date2) {
alert("La date dépasse les limites, le formulaire ne sera pas envoyé.");
return false;
}else {
return true;
}
}
</script>
<form action="blabla.htm" method="post" onsubmit="return validation(new Date(2007, 11, 15))">
<input type="submit" value="Envoyer">
</form>
</body>
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
25 nov. 2007 à 15:24
25 nov. 2007 à 15:24
Si
2007/11/15 plus petit ou égal à 2007/11/24 => VRAI
ET
2007/11/15 plus grand ou égal à 2007/11/30 => FAUX
=> la condition est fausse donc il passe dans le else où il retourne VRAI (c'est à dire qu'il valide la date alors qu'elle est pas bonne).
Fais exactement comme j'ai écrit, j'ai insisté (si tu relis bien) sur le fait d'une inversion de condition.
J'ai écrit : "Note que j'ai inversé la condition => pas compris entre => !(condition ok) "
C'est le symbole ! qui inverse la condition.
2007/11/15 plus petit ou égal à 2007/11/24 => VRAI
ET
2007/11/15 plus grand ou égal à 2007/11/30 => FAUX
=> la condition est fausse donc il passe dans le else où il retourne VRAI (c'est à dire qu'il valide la date alors qu'elle est pas bonne).
Fais exactement comme j'ai écrit, j'ai insisté (si tu relis bien) sur le fait d'une inversion de condition.
J'ai écrit : "Note que j'ai inversé la condition => pas compris entre => !(condition ok) "
C'est le symbole ! qui inverse la condition.
dlgforum
Messages postés
10
Date d'inscription
vendredi 23 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2008
25 nov. 2007 à 18:44
25 nov. 2007 à 18:44
ok super merci pour votre aide
David
David