So lösen Sie das Problem, wenn Sie gleichzeitig JQuery DatePicker und Validierung verwenden

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

  •  23-09-2019
  •  | 
  •  

Frage

Wenn ich DatePicker mit Triggersymbol verwendet habe, damit Benutzer das Datum aus Klicken auf dieses Symbol oder direkt in Textbox (TXTDate) wählen können, habe ich auch die JQuery -Validierung verwendet, um Textbox zu verlangen, muss nicht leer sein. Wenn ein Benutzer das Formular mit leerem Textfeld (txtdate.text = "") sendet, ist die Fehlermeldung des Validierungs -Push -Triggersymbols auf der rechten Seite. Könnten Sie mir die Lösung sagen? Vielen Dank!

War es hilfreich?

Lösung

$('#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);
  }
});

Andere Tipps

Die Fehlerplacement -Funktion empfängt zwei Parameter - die Fehlermeldung und das validierte Element. Verwenden Sie letztere, um zu entscheiden, ob Sie die Platzierung für Ihre Felder anpassen sollen (z. B. durch Hinzufügen einer Klasse):

$('form').validate({
      rules: {...},
      errorPlacement: function(error, element) {
            if (element.hasClass('customError')) {
                  // custom error placement
            }
            else {
                  element.after(error); // default error placement
            }
      }
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top