我正在使用JQuery Validation插件进行客户端表单验证.除了无效表单字段上的多彩样式之外,我的客户端还需要显示弹出消息.我只想在单击提交按钮时显示此消息,否则会导致用户疯狂.我尝试了以下代码,但errorList始终为空.任何人都知道做类似事情的正确方法.
function popupFormErrors(formId) {
var validator = $(formId).validate();
var message = '';
for (var i = 0; i < validator.errorList.length - 1; i++) {
message += validator.errorList[i].message + '\n';
}
if (message.length > 0) {
alert(message);
}
}
$('#btn-form-submit').click(function(){
$('#form-register').submit();
popupFormErrors('#btn-form-submit');
return false;
});
$('#form-register').validate({
errorPlacement: function(error,element) {/* no room on page */},highlight: function(element) { $(element).addClass('invalid-input'); },unhighlight: function(element) { $(element).removeClass('invalid-input'); },...
});
更新
从接受的答案中的信息我想出了这个.
var submitClicked = false;
$('#btn-form-submit').click(function() {
submitClicked = true;
$('#form-register').submit();
return false;
});
$('#form-register').validate({
errorPlacement: function(error,showErrors: function(errorsObj) {
this.defaultShowErrors();
if (submitClicked) {
submitClicked = false;
... create popup from errorsObj...
}
}
...
});
最佳答案
您应该真正考虑使用以下选项进行jQuery验证
showErrors
这是文档http://docs.jquery.com/Plugins/Validation/validate#options的链接