Come risolvere il problema quando utilizzare jQuery datepicker e validazione nello stesso tempo

StackOverflow https://stackoverflow.com/questions/2542593

  •  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!

È stato utile?

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
            }
      }
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top