Блок проверки допустимости jQuery “потребовал” не работы, когда значение установлено в statup

У меня есть проблема с Блоком проверки допустимости jQuery. Я хочу использовать "требуемое" свойство на вводе текста. Это не работает, когда введенный имеет атрибут установленного значения HTML-кодом (протестированный на Firefox (3.5), и на IE 8 - на IE это работает немного лучше).

История: 1. Загрузки страницы; 2. значение очищено; 3. фокус изменяется. 4. Ничего не происходит, но сообщение об ошибке должно быть отображено; 5. возвращение к полю и ввод некоторых символов. 6. изменение фокуса; 7. возвращение к полю; 8. очистка поля. 9. Ошибка отображена даже перед покиданием поле.

HTML-код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <script src="Web/Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
    <script src="Web/Scripts/jquery.validate.js" type="text/javascript"></script>    
</head>
<body>
    <form id="form1">
        <input type="text" id="name1" name="name1" value="test" /><br />
        <input type="text" />
    </form>

    <script type="text/javascript">
        $(document).ready(function() {
            var validator = $("form").validate({

                rules: {
                    name1: {
                        required: true,
                        minlength: 2
                    }
                },
                messages: {
                     name1: "bad name"
                },
            });
        });
    </script>
</body>
</html>
5
задан Zeeshan Adil 11 June 2018 в 11:32
поделиться

2 ответа

Вы можете переопределить обработчик onfocusout, чтобы заставить его работать так, как вы хотите (более охотно):

$(function() {
    var validator = $("form").validate({
        rules: { name1: { required: true, minlength: 2 } },
        messages: { name1: "bad name" },
        onfocusout: function(element) { $(element).valid(); }
    });
});

Вы можете посмотреть старое неработающее демо (как в вашем вопросе) здесь и обновленное с onfocusout, которое работает здесь.

8
ответ дан 14 December 2019 в 01:08
поделиться

Вы забыли сказать, что подтверждение Сообщение было для: Попробуйте это:

 messages: { 
             name1:
                   {
                      required : "This is a required field",
                     minlength: "Please enter 2 chars or more"
                   }
            }

Мишель

0
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: