J’ai ce contrôle de calendrier que j’utilise. Un utilisateur peut sélectionner n’importe quelle date du calendrier. Je dois valider les dates comme samedi et dimanche et les 1/1 et 1/25. S’ils sélectionnent ces jours, je dois leur montrer un message Popup si ce n’est pas une date valide.
Essaye ça:
$("input[id^='Date-<%=Model.ID%>']").change(function() { var date = new Date($(this).val()).getDay(); if(date == 0 || date == 6) { alert('weekend'); } });
Ceci est mis en place avec un événement change
. Votre événement peut être différent.
Il obtient la valeur de l’entrée: $(this).val()
Crée un nouvel object Date
: new Date($(this).val())
Ensuite, nous .getDay()
numéro du jour: .getDay()
qui renvoie une valeur .getDay()
entre 0 et 6, 0 étant dimanche et 6 samedi.
Ensuite, vous venez de tester pour 0 ou 6.
Exemple en direct: http://jsfiddle.net/UwcLf/
EDIT: Avec l’aimable autorisation de Nick Craver , vous pouvez désactiver certains jours si vous n’avez pas besoin d’exécuter du code de remplacement pour les sélections de week-end.
De la réponse liée de Nick: Désactiver certains jours de la semaine sur l’interface utilisateur de jQuery datepicker
$("input[id^='Date-<%=Model.ID%>']").datepicker({ beforeShowDay: function(date) { var day = date.getDay(); return [(day != 0 && day != 6)]; } });
Exemple mis à jour: http://jsfiddle.net/UwcLf/1/
Tableau ajouté pour les jours désactivés: http://jsfiddle.net/UwcLf/3/
Si vous utilisez DatePicker de l’interface utilisateur JQUery, il existe un événement onSelect, vous pouvez l’utiliser pour valider la date sélectionnée.
Je ne connais pas votre back-end, ou si vous en utilisez un, mais vous pouvez toujours envoyer la date sélectionnée à votre serveur via un appel Ajax et déterminer si elle est valide ou non.
Consultez les validateurs personnalisés si vous utilisez ASP.Net.