jQuery Validation plugin - überprüfen, ob Feld ist gültig (aber nicht die prüfungsmeldung)
Bin ich mit dem jQuery-validation-plugin definiert eine Formular-Validierung Funktion, wie unten gezeigt. Basierend auf user-action ich bin mit einem benutzerdefinierten JS-Funktion und in dieser Funktion möchte ich nur prüfen, ob die E-Mail-und Telefon-Felder gültig sind. Aber ich will nicht, Sie zu bestätigen, d.h. ich will nicht zu zeigen, einen Fehler, ich brauche nur zu prüfen, wenn deren Wert gültig ist.
Etwas wie
$('#email').isvalid();
Habe ich ausgecheckt die element - Methode der Validator aber bestätigt, dass das element, anstatt nur zu testen, ob der Wert gültig ist. Also In anderen Worten, ich bin auf der Suche nach einem Weg zu laufen, die Regeln programmgesteuert. Jede Hilfe ist willkommen!
Form validator-Funktion unten:
var validator = $("#olForm").validate({
rules: {
"email": {
required: true,
email: true
},
"phone": {
required: true,
digits: true,
minlength: 9,
maxlength: 11
}
}
});
- Angebot "ich will nicht, Sie zu bestätigen, D. H. prüfen Sie, ob Ihr Wert ist gültig". ~ Ähm, das ist die Validierung... zu prüfen, ob das Feld gültig ist. Bitte erläutern Sie mehr über das, was Sie wollen... sagen, "ich möchte nicht überprüfen, aber ich möchte, um zu überprüfen Gültigkeit" ist unsinnig.
- Er will sich nicht zeigen die Ergebnisse der Validierung (z.B. Fehlermeldungen), er will einfach nur intern testen, ob Sie korrekt sind.
- Wenn das alles wahr ist, dann muss er es sagen. Ich bin mir nicht irgendwelche Annahmen, so Frage ich die OP zu klären, seine schlecht formulierte Frage.
- Ja, ich will nur überprüfen, ob der Wert gültig ist. Ich will nicht zur Anzeige von Validierungs-Ergebnissen
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Antwort auf die ursprüngliche jsfiddle finden Sie in dieser version:
http://jsfiddle.net/33PGQ/23/
Dies ist geändert in drei Möglichkeiten: Erstens, an der Unterseite, einem einfachen booleschen Wert gleich, ob beide Felder gültig sind (es ist dann alarmiert). Wie jede gültige () - Aufruf gibt einen booleschen Wert zurück, können Sie einfach und bequem überprüfen Sie die Gültigkeit aller form-Elemente.
Zweitens, die validate-option erweitert, mit der eine benutzerdefinierte showErrors-Funktion, die keine internen code. Diese Funktion überschreibt die Standard-Verhalten für die Validierung Fehler, so dass, während die interne Validität der Felder überprüft werden können und die Gültigkeit der Felder gehandhabt wird, keine tatsächlichen Fehler, text ist eingeblendet, damit alle, die Validierung Regeln, sondern die Beseitigung der Anzeige der validierungsergebnisse.
Schließlich, obwohl es nicht explizit gewünscht, in der ersten Frage, habe ich noch die optionale ""onsubmit": "false" festlegen, die überschreibt validate-Aufruf der default-Verhalten für die Verhinderung des Formulars, es sei denn, alle Validierungsregeln sind erfolgreich geprüft. Diese können entfernt werden, wenn Sie verhindern möchten, dass die Einreichung (ich nehme an, Sie würde), aber ich denke, es ist eine nützliche Funktion bewusst zu sein. Ich habe es hier für den Fall, Sie hatten einen besonderen Fall, wo Sie wollen die form zu übermitteln, selbst wenn das Formular-Validierung fehlgeschlagen war.
Lohnt es sich für die überprüfung der Liste der Optionen für Validierung; es gibt viele Möglichkeiten, Sie können den validator Verhalten zu passen genau das, was Sie wollen.
Gibt es eine undokumentierte Methode check (), die dies ausdrücklich ohne tatsächlich das styling der Felder oder zeigt keine Fehler:
Es ist ein praktische Methode namens
.checkForm()
(ohne Papiere ab September 2015), die macht das wirklich einfach. Im Gegensatz zu aufrufen von.valid()
dies nicht zeigen, form-Fehler, wenn es heißt:Klingt wie Sie bist suchen für .valid() Methode. Hinweis: Sie haben noch zu laufen validate() gegen das gesamte Formular zu initialisieren, das widget.
http://docs.jquery.com/Plugins/Validation/valid