Ich habe eine HTML5-Webanwendung mit zahlreichen vom Benutzer eingegebenen Feldern, und ich möchte einige clientseitige Validierung für diese Felder in Javascript durchführen, bevor Sie sie an den Server senden. Einfach richtig? Verwenden Sie einfach JQuery Validierung Plugin --- http://jqueryvalidation.org/Felder mithilfe der JQuery-Validierung ohne Submit validieren?
Aber es gibt einen Haken. Meine Web-App hat keine Formulare. Im HTML gibt es keine Eingabe. Stattdessen gibt es einen JQuery-Änderungshandler für jedes durch den Benutzer änderbare Element, und wenn der Benutzer den Wert eines dieser Elemente ändert, wird ein AJAX-Aufruf durchgeführt. (Diese nicht standardmäßige Benutzerinteraktionsarchitektur ist für diese Anwendung sinnvoll.)
Ich möchte das Feld vor dem AJAX-Aufruf validieren und dazu das JQuery-Validierungs-Plugin verwenden. Aber ich kann nicht herausfinden, wie.
Ist es möglich, das JQuery-Validierungs-Plug-in zu verwenden, ohne dass es irgendwo übermittelt werden muss? Wie würde ich das tun? Oder ist ein anderer Ansatz besser?
Was ist das Ziel, das Objekt zu einer Variablen zuzuweisen? Eine zusätzliche Zeile, um ein paar Zeichen zu speichern, scheint ausführlich zu sein, wenn Sie einfach '$ ('# your_form'), validate()' und '$ ('# your_form'). Valid()' aufrufen können. (Außerdem müssen Sie 'validator.form()' überhaupt nicht aufrufen.) – Sparky
@Sparky, es gibt mehrere Methoden, die nur auf dem Validator aufgerufen werden können, der von der 'validate' Funktion zurückgegeben wird, also ist es eine gute Idee um bei Bedarf einen Hinweis darauf zu behalten. Außerdem ist es eine schlechte Methode, das DOM immer erneut zu versuchen, um Elemente mehrfach referenzieren zu lassen. – plalx
Ja, aber in diesem Fall gibt es eine verfügbare Methode namens '.valid()', die die Überwachung von .validate() 'überflüssig macht. Außerdem bin ich nur nicht sicher, ob der Vorteil, dass jQuery nicht ein zweites Mal im DOM sucht, die mehr als 40 zusätzlichen Zeichen wert ist.Wie auch immer, ich nehme an, wir spalten Haare, da hier nichts technisch falsch ist. – Sparky