Удаление стилей из jQuery.validator после успешной проверки - PullRequest
2 голосов
/ 23 декабря 2011

У меня есть следующий код, который добавляет пользовательские стили CSS к моей форме при использовании плагина проверки jQuery.

$(document).ready(function() {
    jQuery.validator.setDefaults({
        errorPlacement: function(error, element) {

        // Adds the red outline
        element.parent().addClass("error");

        // Adds the red cross
        element.siblings(".error_status").addClass('check');

        // Removes the default error
        element.removeClass("error");
        }       
    });

 $("#form").validate();

});

, который стилизует следующий HTML-код для каждого элемента:

<div class="row">
    <label for="id-3"><span>Email address:</span><span class="mark">*</span>
    <input type="text" class="text required" id="id-3" name="email"/>
    <span class="error_status"></span>
</div>

Проблема в том, что я не знаю, как впоследствии удалить стили после успешной проверки.

1 Ответ

3 голосов
/ 23 декабря 2011

Возможно, вы захотите использовать обратные вызовы highlight и unhighlight (задокументировано здесь ) вместо errorPlacement. Таким образом, вам не придется вручную удалять класс error из элемента:

jQuery.validator.setDefaults({
    highlight: function(element, errorClass) {
        var $element = $(element);
        // Add the red outline.
        $element.parent().addClass(errorClass);
        // Add the red cross.
        $element.siblings(".error_status").addClass("check");
    },
    unhighlight: function(element, errorClass) {
        var $element = $(element);
        // Remove the red cross.
        $element.siblings(".error_status").removeClass("check");
        // Remove the red outline.
        $element.parent().removeClass(errorClass);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...