2010-01-12 6 views
0

J'utilise la validation jquery bassistance et je dois vérifier qu'une date de début est postérieure à une date de fin. Je me demande si quelqu'un sait si cette fonctionnalité existe et si je peux ajouter des règles pour le faire ou si je dois ajouter une vérification personnalisée. J'ai de la difficulté à trouver des exemples de cela qui fonctionnent avec mon code qui redirige vers une autre fonction si le formulaire est valide. (Ci-dessous collé)Jquery bassistance: valider que la date de fin est postérieure à la date de début

$("#hotels").validate({ 
    rules: { 
     checkinDate: { 
      date: true 
     }, 
     checkoutDate: { 
      date: true 
     } 
    } 
}); 


$("#hotels input.submit").click(function() { 
    var isValid = $("#hotels").valid(); 
    if (isValid == true) { 
     } else { 
      hComp(); 
      return false; 
     } 
    } else { 
     return false; 
    } 
}); 

J'ai vu cela dans un autre exemple, mais ne sais pas comment je pourrais l'utiliser.

var startDate = new Date($('#startDate').val()); 
var endDate = new Date($('#endDate').val()); 

if (startDate < endDate){ 
// Do something 
} 

Merci d'avance pour toute assistance.

Répondre

1

Cet exemple semble être exactement ce dont vous avez besoin. Jetez un oeil here.

emprunt de cet exemple jquery, supposons que vous avez le code HTML suivant: « Date de début est avant la date de fin »

<input id="startDate" value="Jan 12, 2009" /> 
    <input id="endDate" value="Jan 12, 2010" /> 

Ensuite, ce code JavaScript doit montrer l'alerte (en supposant que les valeurs ne sont pas modifiées):

var startDate = new Date($('#startDate').val()); 
var endDate = new Date($('#endDate').val()); 

if (startDate < endDate){ 
    alert("Start date is before end date!"); 
} 
+0

Merci. Cela clarifie les choses. Mon format de date est mm/jj/aa. Je pense que c'est le problème. –

0

J'ai fini par résoudre ce problème avant la validation, ce qui est probablement une bien meilleure idée de toute façon. Voici la solution utilisant le jpery ui datepicker. Ensuite, je peux simplement utiliser la même logique pour faire une dernière vérification de validation.

$('input').filter('.datepicker').datepicker({ 

beforeShow: customRange, showOn: 'les deux', buttonImage: contextPath + '/assets/images/icon-calendar.gif', buttonImageOnly: true, buttonText: 'Afficher date Allez' });

fonction

customRange (a) {var
b = new Date();
var c = new Date (b.getFullYear(), b.getMonth(), b.getDate());
si (a.id == 'checkoutDate') {
if ($ ('# checkinDate'). Datepicker ('getDate')! = Null) {
c = $ ('# checkinDate'). Datepicker ('avoir un rendez-vous');
}}

return {
MinDate: c
}}

Questions connexes