Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/09/2011, 11h58   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 35
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 35
Points : 10
Points : 10
Par défaut jquery.validity - Comparaison de dates

Bonjour,

J'ai un petit problème de configuration de ce plugin dispo ici :
http://validity.thatscaptaintoyou.co...ngMatchSupport

Mes dates dans mon formulaire : DD/MM/YYYY.
En modifiant le regex (pattern), j'ai réussi à faire valider (fonction match) les dates dans ce format.

Mon problème se trouve plutôt dans la fonction greaterthan.

J'ai voulu faire une vérification de la date entrer, qu'elle soit supérieur à celle d'aujourd'hui. Par contre, la date est comparer avec une date au format US.

Code :
1
2
3
4
$("#date1")
	            .require()
				.match('date')
				.greaterThan(new Date());
Lorsque je tape 02/09/2011, il me met : La date doit être supérieur à 1/9/2011.
Pareil si je tape 01/10/2011.

Par contre, si je saisi 11/10/2011, ca passe...

Comment faire en sorte que la date du jour soit au bon format ?

Merci d'avance pour votre aide en espérant avoir été assez clair.

Ilan
Ilan55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 13h49   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Je ne connais pas ce plugin, mais une chose est sûre, vouloir comparer un format textuel "dd/mm/aaaa" avec new Date() ressemble plus à une vue de l'esprit qu'à une technique de codage fonctionnelle
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 14h01   #3
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
date1="12/05/2011"
date2="05/07/2007"
 
function comparedate(d1,d2){
d1=d1.split('/').reverse().join('')
d2=d2.split('/').reverse().join('')
 
switch (true){
case (d1==d2) :  return "égalité ";
		break;	
case (d1>d2) :  return "plus grand";
		break;	
 
case (d1<d2) :  return "plus petie";
		break;	
}
 
}
alert( comparedate(date1,date2) )
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 14h47   #4
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 35
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 35
Points : 10
Points : 10
Merci à tous pour votre aide.

J'ai réussi en inversant le string envoyé à la fonction du plugin. J'ai crée une fonction similaire. Ca donne ça :

Code :
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
greaterThanS:function(min, msg) {
            return validate(
                this,
 
                min.getTime ?
                    function(obj) {
                        var tmp = obj.value.split('/');
						tmp = [tmp[1], tmp[0], tmp[2]].join('/');
                        return new Date(tmp) > min;
                    } :
 
                    min.substring && Big ?
 
                        function(obj) {
                           return new Big(obj.value).greaterThan(new Big(min)); 
                        } :
 
                        function(obj) {
                            return parseFloat(obj.value) > min;
                        },
 
                msg || format(
                    $.validity.messages.greaterThan, {
                        min:$.validity.settings.argToString(min)
                    }
                ) 
            );
        },
Voilà, si ça peut aider
Ilan55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 14h51   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
Je conseillerais plutot de faire l'inverse: laisser la comparaison entre deux dates car là il faut que les deux dates soient exactement du même format

ex: jj/mm/aaa

si l'une est jj/mm/aaaa et l'autre j/m/aaaa ça ne focntionnera pas

il suffit de setter le new Date() à partir d'ein split du value poru faire un set fullYear() setMonth() et setDate()
La comparaison se fera alors entre deux Dates
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 14h56   #6
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 35
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 35
Points : 10
Points : 10
Il y a le match qui vérifie juste avant que les 2 dates sont au bons format donc si je saisi une date au format J/M/YYYY, la fonction match qui est appelé avant la greaterthan affichera une erreur pour bien formater la date vers JJ/MM/YYY et donc on compare bien 2 dates du même format.
Ilan55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 14h57   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
c'est pas faux ... sauf si le gars saisit 31/02/2011

comparer des dates est quand même plus sur ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h24.


 
 
 
 
Partenaires

Hébergement Web