使用 JQuery 验证插件,我尝试调用 .valid() 方法,而不会产生在屏幕上显示错误消息的副作用。我尝试了多种方案但没有成功,我最新的是:
$('#signup').validate({
showErrors: function() { return; },
errorElement: "",
errorClass: "",
errorPlacement: function() { },
invalidHandler: function() { },
highlight: function(element, errorClass) { },
unhighlight: function(element, errorClass) { }
});
$('#displayPurposes').text("Valid: " + $("#EMailAddress_EmailAddress").valid());
虽然 .valid() 调用正常工作,但它仍然会导致显示错误消息的副作用。
我不希望这种情况发生,请帮忙。
最佳答案
您可以通过调用 checkForm()
来完成此操作,而无需使用 CSS hacks。
var isValid = $('#signup').validate().checkForm(); // true|false
checkForm()
不会触发 UI 更改。
但是,有一个副作用。现在将在更改/焦点/模糊时验证表单字段,这可能是不可取的。您可以通过重置已提交
对象来禁用此行为:
$('#signup').validate().submitted = {};
结果是:
var validate = $('#signup').validate(); // Get validate instance
var isValid = validate.checkForm(); // Valid?
validate.submitted = {}; // Reset immediate form field checking mode
关于Jquery验证: Call Valid without displaying errors?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3922628/