sou*_*oul 18 jquery jquery-validate
使用JQuery Validation插件,我试图调用.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());
Run Code Online (Sandbox Code Playgroud)
虽然.valid()调用正常工作,但它仍然会导致显示错误消息的副作用.
我不希望这种情况发生,请帮忙.
Bla*_*ise 63
你可以通过调用而不使用CSS hacks来做到这一点checkForm().
var isValid = $('#signup').validate().checkForm(); // true|false
Run Code Online (Sandbox Code Playgroud)
checkForm() 不会触发UI更改.
但是,有一个副作用.现在将在更改/焦点/模糊上验证表单字段,这可能是不合需要的.您可以通过重置submitted对象来禁用此行为:
$('#signup').validate().submitted = {};
Run Code Online (Sandbox Code Playgroud)
结果如下:
var validate = $('#signup').validate(); // Get validate instance
var isValid = validate.checkForm(); // Valid?
validate.submitted = {}; // Reset immediate form field checking mode
Run Code Online (Sandbox Code Playgroud)
Did*_*hys -6
好吧,您可以使用 CSS 来“强制”隐藏创建错误消息元素,而不是尝试禁用插件造成的任何错误放置。就像是:
label.myvalidationclass { display: none !important; }
Run Code Online (Sandbox Code Playgroud)
其中myvalidationclass是默认错误类名称或您自己的错误类名称。
我知道这不是一个很好的解决方案,但在我看来,显示错误消息是该插件的核心功能之一。
d.