我有我的網頁上運行下面的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類裝飾。
所以如果驗證正在運行,爲什麼這些事件沒有運行?
編輯:
要說<形式>元素是長將是輕描淡寫。但是,在構建/測試時,只有三個<輸入>元素具有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>