Question

J'utilise le plugin jquerylive pour ajouter des classes CSS supplémentaires pour .field validation d'erreur classe comme ceci:

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

quand je reçois des travées avec cette classe générée par jquery.validate les œuvres de code ci-dessus, mais en 2ème validation, il ne fonctionne pas.

voici le lien direct: http://mrgsp.md:8080 / impressionnant / personne cliquez sur créer après cliquez sur Enregistrer pour recevoir des messages de validation, puis cliquez à nouveau sur Enregistrer

Était-ce utile?

La solution

Pourquoi ne pas accrocher votre fonction dans le même événement qui déclenche validate ()?

Mise à jour

J'ai lu les autres commentaires et vu que vous utilisiez xVal, lire un peu jQuery.Validate aussi bien. liens avec jQuery.Validate dans de nombreux événements et l'inscription sur les gestionnaires d'événements serait désordre. La raison pour laquelle livequery fonctionne première fois que les étiquettes sont générées si elles n'existaient pas auparavant de sorte que l'événement de création fait tourner la fonction, à chaque fois après l'étiquette est juste caché / montré il ne se déclenche à nouveau pas, mais jQuery. la fonction showLabel de validate remet à zéro les classes.

Le lieu idéal est xVal en faisant un petit changement dans le fichier xVal.jquery.validate.js. Dans le procédé de _ensureFormIsMarkedForValidation sont les lignes:

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

Tout ce que vous avez besoin de faire est de changer ErrorClass à:

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

En effet, xVal fait la mise en place du plugin validate.

Autres conseils

Pouvez-vous pas seulement l'option ErrorClass?

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

Ou peut-être:

$.validator.setDefaults({ 
   errorClass: "field-validation-error ui-state-error ui-corner-all"
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top