Frage jQuery Validate Plugin - Validierung eines einzelnen Feldes auslösen


Ich habe ein Formular, das optional über Facebook Connect vorbelegt werden kann. Sobald ein Benutzer eine Verbindung herstellt, werden sein Name und seine E-Mail-Adresse automatisch ausgefüllt. Das Problem besteht darin, dass dies nicht dazu führt, dass die Remote-Überprüfung überprüft, ob die E-Mail bereits existiert.

Gibt es eine Möglichkeit, die Validierung für dieses Feld allein zu nennen? Etwas wie:

$('#email-field-only').validate()

wäre eine Idee. Durch die Dokumente ohne Glück gesucht.


75
2018-04-29 16:16


Ursprung


Antworten:


Diese Methode scheint zu tun, was Sie wollen:

$('#email-field-only').valid();

129
2018-03-03 14:46



Aus irgendeinem Grund funktionieren einige der anderen Methoden nicht, bis das Feld fokussiert / verwackelt / verändert wurde, oder eine Übertragung wurde versucht ... das funktioniert für mich.

$("#formid").data('validator').element('#element').valid();

Musste durch das jquery.validate-Skript graben, um es zu finden ...


16
2017-08-07 00:41



Benutzen Validator.element():

Validiert ein einzelnes Element, gibt true zurück, wenn es gültig ist, false   Andernfalls.

Hier ist das Beispiel in der API:

var validator = $( "#myform" ).validate();
validator.element( "#myselect" );

.valid() validiert das gesamte Formular, wie andere darauf hingewiesen haben. Die API sagt:

Überprüft, ob das ausgewählte Formular gültig oder ausgewählt ist   Elemente sind gültig.


12
2017-08-21 17:22



$("#FormId").validate().element('#FieldId');

10
2018-05-24 18:22



Wenn Sie Ihre Validierung einrichten, sollten Sie das Validator-Objekt speichern. Sie können damit einzelne Felder validieren.

<script type="text/javascript">
var _validator;
$(function () {    
     _validator = $("#form").validate();   
});

function doSomething() {    
     _validator.element($('#someElement'));
}
</script> 

- Kreuz gepostet mit diese ähnliche Frage


5
2018-05-05 21:35



Wenn Sie einzelne Formularfelder validieren möchten, aber nicht, dass die Benutzeroberfläche ausgelöst wird und keine Validierungsfehler angezeigt werden, können Sie die Validator.check () -Methode verwenden, die zurückgibt, wenn das angegebene Feld die Validierung besteht oder nicht.

Hier ist ein Beispiel

var validator = $("#form").data('validator');
if(validator.check('#element')){
    /*field is valid*/
}else{
    /*field is not valid (but no errors will be displayed)*/
}

3
2018-02-08 12:21



$("#element").validate().valid()

-7
2018-03-14 20:43