rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Vérifier une date dans un formulaire

Posté par dlgforum, le vendredi 23 novembre 2007 à 20:28:48
Bonjour,

Voilà,
j'ai un formulaire dans lequel je saisie une date et je souhaiterai un controle pour vérifier si cette date est bien entre deux dates.
Mes dates sont dans une base de données mais pas de problème pour les récupérer en deux variables :
Par exemple $date1 = 2007-11-01 et $date2=2007-11-30 et je voudrai qu'il y ait un controle en javascript coté client pour vérifier que la date saisie dans le formaulaire soitr entre ces deux dates.

Merci pour votre aide.

David
Configuration: Windows XP
Internet Explorer 6.0
Répondre à dlgforum  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
vignemail1, le vendredi 23 novembre 2007 à 21:55:19
regarde vers le mot clé SQL between
Membre contributeur
Spécialisé réseaux, webmastering, programmation
Répondre à vignemail1

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dlgforum, le vendredi 23 novembre 2007 à 22:04:24
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
Répondre à dlgforum

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Posotaz, le samedi 24 novembre 2007 à 00:45:34
Salut,

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.
Répondre à Posotaz

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dlgforum, le samedi 24 novembre 2007 à 12:09:34
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
Répondre à dlgforum

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Posotaz, le samedi 24 novembre 2007 à 15:13:57
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 :

http://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.
Répondre à Posotaz

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dlgforum, le dimanche 25 novembre 2007 à 12:21:13
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>
Répondre à dlgforum

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Posotaz, le dimanche 25 novembre 2007 à 15:24:01
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.
Répondre à Posotaz

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 dlgforum, le dimanche 25 novembre 2007 à 18:44:54
ok super merci pour votre aide

David
Répondre à dlgforum
Logiciels pertinents trouvés dans les téléchargements
Télécharger HTML Tidy 0.008HTML Tidy - HTML Tidy est un utilitaire permettant de vérifier et d'optimiser tout code HTML. La version originale de cet utilitaire...Catégorie: Webmaster
Licence: Freeware/gratuit
Télécharger Index.dat Analyzer v 2.0Index.dat Analyzer - Index.dat Analyzer permet de voir, éditer et effacer le contenu de ces fichiers - théoriquement cachés - qui participent aux...Catégorie: Anonymat/Confidentialité
Licence: Freeware/gratuit
Télécharger Super 2007.build.22Super - SUPER © est un convertisseur audio/vidéo universel, supportant une grande variété de formats d'entrée, dont : formats...Catégorie: Vidéo
Licence: Freeware/gratuit
Télécharger MTV Video Converter 1.11.4MTV Video Converter - Le programme MTV Video Converter est un convertisseur vidéo vers le format MTV acceptant les formats d'entrée suivants : ...Catégorie: Conversion
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Vérifier une date dans un formulaire »