Не удается заставить JQuery валидации работать с использованием правил, метода сообщений

0

Я не могу понять, почему form2 не выполняет проверку, но form1 проходит проверку (используя плагин проверки jQuery). Как я могу сделать make1 с ошибкой, используя код ниже?

HTML

<form id="form1" method="get" action="">
    <input type="text" id="viewName1">
     <h3></h3>
</form>

<form id="form2" method="get" action="">
    <input type="text" id="viewName2" required>
     <h3></h3>
</form>

JAVASCRIPT

$('#form1').validate({
    rules: {
        viewName: 'required'
    },
    messages: {
        viewName: '* view name is required'
    },
    submitHandler: function () {
        $('#form1 h3').text('Form1 valid');
    },
    invalidHandler: function (event, validator) {
        $('#form1 h3').text('Form1 invalid');
    }
});
$('#form1').submit();

$('#form2').validate({
    submitHandler: function () {
        $('#form1 h3').text('Form1 valid');
    },
    invalidHandler: function (event, validator) {
        $('#form1 h3').text('Form1 invalid');
    }
});
$('#form2').submit();

FIDDLE http://jsfiddle.net/jeljeljel/5xFhA/4/

  • 0
    Пожалуйста, не редактируйте исправленный код в своем вопросе. Вопрос и ответ уже говорят сами за себя. Спасибо!
Теги:
jquery-validate

1 ответ

1
Лучший ответ

Он не работает, потому что ваши элементы ввода не имеют атрибута name. Это требование плагина.

См. Раздел "Рекомендации по разметке" в документах:

"Атрибут name " требуется "для входных элементов, плагин проверки не работает без него".

$('#form1').validate({
    rules: {
        viewName: 'required' // <-- "viewName" is the 'name' attribute, not id
    },
    messages: {
        viewName: '* view name is required'  // <-- "viewName" is the 'name' attribute, not id
    },
    submitHandler: function () {
        $('#form1 h3').text('Form1 valid');
    },
    invalidHandler: function (event, validator) {
        $('#form1 h3').text('Form1 invalid');
    }
});

ДЕМО: http://jsfiddle.net/5xFhA/10/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню