我的页面上运行了以下javascript:
$("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,而不是直接将它绑定到任何 submit 事件。
我的问题是传递给.validate()
的选项对象中的那些处理程序都不会运行;没有记录任何控制台消息。
验证确实有用,无效字段用CSS类修饰。
因此,如果验证正在运行,为什么这些事件没有运行?
修改
说< form>元素很长将是轻描淡写。但是,在构建/测试时,只有三个< input>元素具有required
属性。此外,因为我是异步发布而不是提交,所以< form> element没有填充的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>
答案 0 :(得分:0)
引用OP:
“我的问题是,传递给
.validate()
的选项对象中的所有处理程序都不会运行;没有任何控制台消息被记录。验证确实有效,无效字段用于修饰一个CSS类。所以如果验证正在运行,为什么这些事件没有运行?“
我认为这不可行。如果验证工作正常,则必须触发那些回调函数。
您的浏览器是否支持console.log
和console.dir
?
这种变化对我来说很好......
$(document).ready(function () {
$('#order').validate({
invalidHandler: function (event, validator) {
var errors = validator.numberOfInvalids();
alert('invalidHandler fired - no of errors: ' + errors);
console.log('invalidHandler fired - no of errors: ' + errors);
validator.focusInvalid();
},
showErrors: function (errorMap, errorList) {
console.log('showErrors fired');
console.dir(errorList);
},
submitHandler: function (form) {
alert('submitHandler fired - form is valid');
console.log('submitHandler fired - form is valid');
return false;
}
});
$('#order').valid();
});
DEMO:http://jsfiddle.net/B5N6q/
这是你的版本,也适合我:http://jsfiddle.net/B5N6q/1/