Плагин проверки jQuery - как изменить css при ошибке - PullRequest
11 голосов
/ 25 октября 2010

Я слежу за демо здесь

http://jquery.bassistance.de/validate/demo/marketo/

При отправке формы, если поле пустое, как поля ввода и другие поля получают эту красную рамку вокруг них? Что я должен добавить в своем объявлении плагина, чтобы получить это?

Обновление

$("#profile_form").validate({
        rules: {
            nickname: "required",
            address: "required"
        },
        messages: {
            nickname: "(required)",
            address: " (required)"
        }
    });

Я знаю, как получить границу через css, мне нужно знать, как плагин validate изменяет css.

Привет

Ответы [ 3 ]

13 голосов
/ 25 октября 2010

Вот как я добился того, что искал ...

$("#profile_form").validate({
        rules: {
            nickname: "required",
            address: "required"
        },
        messages: {
            nickname: "(required)",
            address: " (required)"
        }, highlight: function(element) {
            $(element).addClass('error');
        }, unhighlight: function(element) {
            $(element).removeClass('error');
        }
    });

Использование параметров highlight и unhighlight в плагине jquery.validate помогает.

7 голосов
/ 25 октября 2010

Что-то вроде этого сделает это ...

CSS

input.error,
select.error,
textarea.error {
    border: 3px solid red;
}

В этом случае Firebug - ваш друг .

0 голосов
/ 25 октября 2010

Вы бы прикрепили обработчик событий blur() к полю ввода. В вашей функции обратного вызова вы проверяете содержимое ввода, а затем изменяете css, используя css().

Пример:

<input type="text" id="myField" />

<script type="text/javascript">
    $("#myField).blur(function() {
        if ($(this).val() == "") {
            $(this).css("borderColor", "red");
        }
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...