Frage

Ich verwende jquerylive Plugin zusätzliche CSS-Klassen hinzufügen, um .field-Validierung-Fehlerklasse wie folgt:

$(".field-validation-error").livequery(function () { 
    $(this).addClass('ui-state-error ui-corner-all'); 
});

wenn ich einige Spannweiten mit dieser Klasse erzeugt durch jquery.validate der obigen Code funktioniert, aber bei der 2. Validierung nicht.

hier ist der Live-Link: http://mrgsp.md:8080 / ehrfürchtige / Person klicken Sie erstellen nach Klick Prüfungsmeldungen speichern zu erhalten und klicken Sie erneut auf Speichern

War es hilfreich?

Lösung

Warum Ihre Funktion in das gleiche Ereignis nicht Haken, dass Trigger validieren ()?

Aktualisieren

Ich las die anderen Kommentare und sah Sie xVal verwendet haben, auch ein bisschen auf jQuery.Validate nachlesen. jQuery.Validate knüpft an vielen Veranstaltungen und Registrierung auf den Event-Handler chaotisch wäre. Der Grund, dass livequery ersten Mal funktioniert, ist, dass die Etiketten erzeugt werden, wenn sie vorher nicht vorhanden sind, so dass die Schöpfung Ereignis die Funktion laufen, jedes Mal, nachdem das macht das Etikett nur versteckt / angezeigt, damit es nicht wieder ausgelöst bekommt aber jQuery. validieren der showlabel Funktion setzt die Klassen.

Der ideale Ort ist in xVal, indem sie eine kleine Änderung in der xVal.jquery.validate.js Datei. Im _ensureFormIsMarkedForValidation Verfahren sind die Zeilen:

ensureFormIsMarkedForValidation: function(formElement, options) {
        if (!formElement.data("isMarkedForValidation")) {
            formElement.data("isMarkedForValidation", true);
            var validationOptions = {
                errorClass: "field-validation-error",

Alle sollten Sie tun müssen, ist die Veränderung Errorclass an:

errorClass: "field-validation-error ui-state-error ui-corner-all",

Das ist, weil xVal ist die Einstellung des Validate-Plugin tun up.

Andere Tipps

Sie können nicht nur die die Errorclass Option?

$(".selector").validate({
   errorClass: "field-validation-error ui-state-error ui-corner-all"
})

Oder vielleicht:

$.validator.setDefaults({ 
   errorClass: "field-validation-error ui-state-error ui-corner-all"
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top