У меня есть проблема с Блоком проверки допустимости 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>
Вы можете переопределить обработчик onfocusout
, чтобы заставить его работать так, как вы хотите (более охотно):
$(function() {
var validator = $("form").validate({
rules: { name1: { required: true, minlength: 2 } },
messages: { name1: "bad name" },
onfocusout: function(element) { $(element).valid(); }
});
});
Вы можете посмотреть старое неработающее демо (как в вашем вопросе) здесь и обновленное с onfocusout
, которое работает здесь.
Вы забыли сказать, что подтверждение Сообщение было для: Попробуйте это:
messages: {
name1:
{
required : "This is a required field",
minlength: "Please enter 2 chars or more"
}
}
Мишель