Я следующий Javascript работает на моей странице:jQuery.validate: нет обработчиков не увольняют
$("form").validate({
invalidHandler: function (event, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
console.log(errors);
}
validator.focusInvalid();
},
showErrors: function (errorMap, errorList) {
console.dir(errorList);
},
submitHandler: function (form) {
console.log(form);
}
});
$("form").valid();
Я вызов этого JavaScript в моей собственной функции, а не привязывая его к любому представить события.
Моя проблема заключается в том, что ни один из этих обработчиков внутри объекта опций, передаваемый в .validate()
, не будет запущен; ни одно из сообщений консоли никогда не регистрируется.
Подтверждение действительно работает, недопустимые поля украшены классом CSS.
Итак, если проверка выполняется, почему эти события не работают?
EDIT:
Сказать < форма > элемент долго будет преуменьшение. Однако при построении/тестировании только три элемента < содержат required
атрибут. Кроме того, поскольку я отправляю асинхронно, а не отправляю, элемент < формы > не имеет заполненного атрибута action
. Цитата
<form action="" name="order" id="order" class="margin-b-50">
<label for="frm-order-name">Order Name</label>
<input type="text" id="frm-order-name" name="frm-order-name" class="form-control" required="required" data-val-required="You must enter an order name" />
<label for="frm-username">Username</label>
<input type="text" id="frm-username" name="frm-username" class="form-control" required="required" data-val-required="You must enter your username" />
<label for="frm-password">Password</label>
<input type="password" id="frm-password" name="frm-password" class="form-control" required="required" data-val-required="You must enter your password" />
</form>