Domanda

Io uso plug jquerylive aggiungere classi CSS aggiuntive per .field convalida errori classe come questa:

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

quando ricevo alcune campate con questa classe generata da jquery.validate le opere di codice di cui sopra, ma al 2 ° convalida non è così.

ecco il link live: http://mrgsp.md:8080 / impressionante / persona cliccare sul creare dopo fare clic su Salva per ottenere messaggi di convalida e clicca di nuovo su Salva

È stato utile?

Soluzione

Perché non collegare la vostra funzione nella stessa evento che attiva validate ()?

Aggiorna

Ho letto gli altri commenti e vide che si stava utilizzando xVal, leggere un po 'sul jQuery.Validate pure. legami jQuery.Validate in con molti eventi e la registrazione sul gestori di eventi sarebbe disordinato. La ragione per cui livequery funziona prima volta è che le etichette vengono generati se non esistono in precedenza in modo tale evento creazione fa girare il funzionamento, ogni volta dopo l'etichetta è solo nascosto / visualizzato in modo che non venga ancora una volta innescato, ma jQuery. la funzione showLabel di convalidare azzera le classi.

Il luogo ideale è in xVal facendo una piccola modifica nel file xVal.jquery.validate.js. Nel metodo _ensureFormIsMarkedForValidation sono le linee:

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

Tutto quello che dovrebbe essere necessario fare è cambiare errorClass a:

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

Questo perché xVal sta facendo la creazione di plugin validate.

Altri suggerimenti

si può non solo l'opzione errorClass?

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

O forse:

$.validator.setDefaults({ 
   errorClass: "field-validation-error ui-state-error ui-corner-all"
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top