jQuery Validierungs-Plugin - prüfen, ob das Feld gültig ist (aber nicht die Validierungsnachricht anzeigen)

8

Ich verwende das jQuery-Validierungs-Plugin und habe eine Formularvalidierungsfunktion definiert, wie unten gezeigt. Auf der Grundlage einiger Benutzeraktionen führe ich eine benutzerdefinierte JS-Funktion aus, und in dieser Funktion möchte ich nur prüfen, ob die E-Mail- und Telefonfelder gültig sind. Aber Ich möchte sie nicht validieren, d. h. ich möchte die Validierungsfehler nicht anzeigen, ich muss nur prüfen, ob ihr Wert gültig ist.

Etwas wie

%Vor%

Ich habe die Element -Methode des Validators ausgecheckt, die aber das Element validiert und nicht nur Überprüfen, ob der Wert gültig ist. Mit anderen Worten, ich suche nach einer Möglichkeit, die Regeln programmgesteuert auszuführen. Jede Hilfe wird geschätzt!

Formularvalidiererfunktion unten:

%Vor%     
arahant 18.09.2012, 15:53
quelle

4 Antworten

9

Als Antwort auf die Original-JSFiddle, siehe diese Version:

Ссылка

Dies wird auf drei Arten modifiziert: erstens wird unten ein einfacher boolescher Wert gesetzt, der gleich ist, ob beide Felder gültig sind (es wird dann alarmiert). Da jeder Aufruf von valid () einen booleschen Wert zurückgibt, können Sie einfach und einfach die Gültigkeit aller Formularelemente überprüfen.

Zweitens wurde die Option validate um eine benutzerdefinierte showErrors-Funktion erweitert, die keinen internen Code enthält. Diese Funktion überschreibt das Standardverhalten für die Validierungsfehler, so dass zwar die interne Gültigkeit der Felder überprüft werden kann und die Gültigkeit der Felder behandelt wird, aber kein tatsächlicher Fehlertext angezeigt wird, der alle Validierungsregeln ermöglicht, aber die Anzeige von die Validierungsergebnisse.

Schließlich, obwohl es nicht explizit in der anfänglichen Frage angefordert wird, fügte ich die optionale Einstellung "onsubmit: false" hinzu, die das Standardverhalten des Validierungsaufrufs außer Kraft setzt, die Formularübermittlung zu verhindern, sofern nicht alle Validierungsregeln erfolgreich überprüft wurden. Dies kann entfernt werden, wenn Sie die Übermittlung verhindern wollen (ich nehme an, Sie würden es tun), aber ich denke, es ist ein nützliches Feature, das Sie beachten sollten. Ich habe es hier eingefügt, für den Fall, dass Sie einen speziellen Fall hatten, in dem das Formular gesendet werden sollte, selbst wenn die Validierung des Formulars fehlgeschlagen ist.

Es lohnt sich auf jeden Fall, die Optionsliste zur Validierung zu überprüfen. Es gibt viele Möglichkeiten, wie Sie das Verhalten des Validators an Ihre Anforderungen anpassen können.

    
Rob Wilkins 21.09.2012, 04:41
quelle
4

Es gibt eine undokumentierte Methode check () , die dies speziell tut, ohne die Felder zu formatieren oder Fehler anzuzeigen:

%Vor%     
Danny H 03.11.2015 09:31
quelle
2

Es gibt eine praktische Methode namens .checkForm() (undokumentiert seit September 2015), was dies wirklich einfach macht. Anders als beim Aufruf von .valid() wird dies beim Aufruf nicht angezeigt:

%Vor%     
rnevius 25.09.2015 13:14
quelle
1

Klingt so, als würden Sie nach der .valid () Methode suchen. Beachten Sie, dass Sie validate () weiterhin für das gesamte Formular ausführen müssen, um das Widget zu initialisieren.

Ссылка

    
Mike Robinson 18.09.2012 15:56
quelle

Tags und Links