Wie zu deaktivieren, jquery Validierung auf die keyup-und focusout für 1 bestimmtes html-element bei Verwendung der unaufdringlichen validation plugin?
Standardmäßig die jQuery-validation plugin ist das anbringen validation-Handler für focusin
, focusout
und keyup
Veranstaltungen.
1 unserer Validierungen macht eine (synchrone) Anfrage zum abrufen von Daten ein. Ich will, dass die Validierung nur ausgelöst, wenn das Formular eingereicht wird und nicht, während der Benutzer Text eingibt.
Ich weiß, das kann geändert für die ganze form, aber das ist nicht das, was ich Suche.
Gibt es eine Möglichkeit, dynamisch deaktivieren keyup-Validierung für 1 element?
Update 1:
Ich vergaß zu erwähnen, dass ich mit unobtrusive validation. Also ich glaube nicht, dass die Antwort von @Mario Johnathan ist keine option.
Update 2:
Ich habe versucht, die folgenden Dinge ($element ist das element, auf das ich mich ändern will der Validierung Verhalten):
$element.validate({focusout: false, keyup: false});
$element.keyup(function() {
return false;
});$element.off('keyup');
$element.unbind('keyup');
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich selbst war in der gleichen Situation. Unten ist der code was ich für Sie verwendet.
Hier was ich gemacht habe, ist Griff keyup-Ereignisse für das element so, dass der validator nicht tun. Für den rest alle Elemente der validator wird kick in action. Aber der Haken ist, dass bestimmte Elemente haben keine überprüfung auf keyup überhaupt.
Versuchen Sie überschreiben die onkeyup Funktion und erstellen Sie ein onkeyup-variable, die Sie anpassen können für jedes Feld
Können Sie die Optionen überprüfen.
Fügen Sie eine neue Ereignis-listener für das $element und verhindern, dass die Ereignis-bubbling bis der DOM-Baum mit stopPropagation(), die verhindern, dass alle Eltern Handler (einschließlich Validierung) benachrichtigt werden.
http://api.jquery.com/event.stopPropagation/
Bis jetzt war ich in der Lage zu erreichen, was ich brauche, von ändern der Quellcode von
jQuery.Validierung
plugin.Indem in der Veranstaltung (falls vorhanden), um die Validierung von Methoden, die ich in der Lage bin, zu prüfen, ob es ausgelöst wurde von einem focusout-oder keyup.
Nicht ideal, aber funktioniert.
Vom anderen forum: