Come risolvere il problema quando utilizzare jQuery datepicker e validazione nello stesso tempo
-
23-09-2019 - |
Domanda
Quando ho usato datepicker con l'icona di trigger in modo che gli utenti potevano scegliere data da clic su questa icona o digitare direttamente nella casella di testo (txtDate), ho usato anche la convalida jQuery per richiedere testo deve essere non è vuota. Ma quando un utente invia il modulo con il testo vuoto (txtDate.Text = ""), il messaggio di errore di convalida spinta grilletto icona sulla destra. Potrebbe dirmi la soluzione? Grazie mille!
Soluzione
$('#some_form').validate({
rules: {...},
messages: {...},
errorPlacement: function(error, element) { //solve you problem
var trigger = element.next('.ui-datepicker-trigger');
error.insertAfter(trigger.length > 0 ? trigger : element);
}
});
Altri suggerimenti
La funzione errorPlacement riceve due parametri - il messaggio di errore e l'elemento convalidato. Utilizzare questi ultimi a decidere o meno per personalizzare il posizionamento per i vostri campi (ad esempio, con l'aggiunta di una classe):
$('form').validate({
rules: {...},
errorPlacement: function(error, element) {
if (element.hasClass('customError')) {
// custom error placement
}
else {
element.after(error); // default error placement
}
}
});