J'ai quelques datepickers
J'ai personnalisé ces ils montrent mois seulement et année
Voici le code pour les créerjQuery valident plug-in contre jQueryUI personnalisés datepickers
jQuery("input[name*='fechauso']").each(function() {
jQuery(this).datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy',
constrainInput: true,
showOn: 'button',
buttonText: 'Seleccionar...',
onClose: function(dateText, inst) {
var month = jQuery("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = jQuery("#ui-datepicker-div .ui-datepicker-year :selected").val();
jQuery(this).datepicker('setDate', new Date(year, month, 1));
}
});
});
Maintenant, j'ai ajouté une méthode de validation personnalisée (en utilisant le plugin) pour vérifier ceci:
- Si l'utilisateur n'a pas sélectionné de date à l'aide du bouton, le champ est vide. La méthode de validation personnalisée doit donc être déclenchée. Cela n'arrive pas.
Voici la méthode validate personnalisée
jQuery.validator.addMethod("isEmpty", function(value, element) {
return (value == '');
}, "Must select a date with the button besides control");
jQuery("#ct_2_fechauso").rules("add", {
required: "#campotilde_psico:checked",
isEmpty: true
});
Le problème est que même si je choisis une date, il me demande toujours de sélectionner une date à nouveau. Datepicker champs doivent être en lecture seule