IM Utilisation du plug-in Jquery Validate et vous vous demandiez s'il y avait un moyen de valider si la date entrée dans un champ était une date telle que AAAAYY-MM-DD et la date tombe entre le 29 novembre 2010 - 15 décembre 2010 p>
im jolie nouveau à jQuery, donc s'il y a une réponse, veuillez éteindre le plus possible la réponse afin que je puisse passer à travers cela. Merci beaucoup pour toutes les suggestions p>
6 Réponses :
Je n'ai jamais utilisé le plugin de validation, mais un look à travers l'API suggère que quelque chose comme cela pourrait fonctionner:
$.validator.addMethod('daterange', function(value, element) { if (this.optional(element)) { return true; } var startDate = Date.parse('2010-11-29'), endDate = Date.parse('2010-12-15'), enteredDate = Date.parse(value); if (isNan(enteredDate)) { return false; } return ((startDate <= enteredDate) && (enteredDate <= endDate)); });
La réponse de LonesomeDay est assez proche, avec quelques modifications. Je terminerais le code comme suit:
if(isNaN(enteredDate)) return false; return ((startDate <= enteredDate) && (enteredDate <= endDate)); }, "Please specify a date between 2010-11-29 and 2010-12-15");
a fait quelques petites corrections dans le code de Connor.
Le code de travail résultant est: p> puis utilisez-le comme ceci: P> $("#some_date_input").rules("add",{daterange:['01/31/2001','01/31/2020']});
Tenez vos chevaux, les gars! :)
N'oubliez pas, cette date.parse ne peut pas fonctionner correctement avec différents locaux, il n'estime que le format de date correctement spécifique. p>
Si vous utilisez divers formats de date (spécifique à la culture) - il vaut mieux Coller à JQuery Date-Picker Date de manutention. P>
Donc, supposant que vous avez chargé que vous avez chargé JQUERY SADERY SADERYPICKER objet (par exemple, jquery.ui.datepicker-nb-notes, où le format de date est DD. Mm.yyyy et n'est pas analysé par date.parse) et l'initialisée, une approche appropriée est la suivante: p> J'ai mis des trucs parsédAte à l'intérieur du bloc, car il n'y a pas de chemin normal Pour déterminer si la date a été analysée correctement. p> p>
plage de date min code> /
attributs max code> sur
date code> type
entrée code>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<!--jquery validate-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.2.3/jquery.validate.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.2.3/additional-methods.min.js"></script>
<input id="christmas-shopper-reservation" type="date" min="2010-11-29" max="2010-12-15">
<label id="christmas-shopper-reservation-error" class="error" style="display:none;" for="christmas-shopper-reservation"></label>
Est-ce que ça marche? Il semble que JQuery Validate interprète les attributs min et max comme indiquant un certain nombre de personnes qui devaient valider à moi, car je continue à obtenir l'erreur "Veuillez entrer une valeur supérieure ou égale à Nan." Frustrant.
@Brianpeterson, bien ce projet est parti depuis longtemps, ne me souviens même pas de ce que c'était. Mais je sais que je n'aurais jamais mis une réponse à moins que je ne l'avais pas obligé de travailler sur mon projet. Donc oui. Cela a fonctionné pour moi. J'utilisais probablement chrome pour tester si je devais deviner.
@Brianpeterson, j'ai ajouté un extrait. Tests bien en chrome.