jQuery验证插件和屏蔽输入-忽略不工作
我的表单中有一个字段不是必需的(在validate中没有规则),但我确实向它添加了屏蔽输入,这样,如果用户想要输入信息,它将是一种有用的格式 但是,如果我单击该字段并触发屏蔽输入,它似乎会验证(变为绿色并给出“OK”)。我尝试将ignore添加到validate中,但它仍然返回为valid 以下是代码的相关部分:jQuery验证插件和屏蔽输入-忽略不工作,jquery,jquery-validate,Jquery,Jquery Validate,我的表单中有一个字段不是必需的(在validate中没有规则),但我确实向它添加了屏蔽输入,这样,如果用户想要输入信息,它将是一种有用的格式 但是,如果我单击该字段并触发屏蔽输入,它似乎会验证(变为绿色并给出“OK”)。我尝试将ignore添加到validate中,但它仍然返回为valid 以下是代码的相关部分: $("#ssn").mask("999-99-9999",{placeholder:" "}); $("#jqvForm").validate({ ignore: ".igno
$("#ssn").mask("999-99-9999",{placeholder:" "});
$("#jqvForm").validate({
ignore: ".ignore",
onkeyup: false,
highlight: function (label) {
$(label).closest('.form-element').addClass('error')
.closest('.form-element').removeClass('success');
$('#result').html('');
},
success: function (label) {
label.text('OK!').addClass('valid')
.closest('.form-element').addClass('success');
},
rules: { etc },
messages: { etc }
});
我的SSN输入字段确实有class=“ignore”,但是调用了“success”,它添加了类和标签文本。取消高亮显示回调函数与突出显示相反,而不是
成功
。和element、errorClass、validClass
是这两个回调函数的唯一有效参数,而不是label
您也不必在同一个链中选择两次.closest('.form element')
;一次就够了。我看不到你的HTML,所以我甚至不确定你是否需要这个选择器。我假设元素
与最接近('.form element')
相同,所以我删除了后者。否则,根据您的意愿调整此答案
试试这个
highlight: function (element, errorClass, validClass) {
$(element).addClass('error').removeClass('success');
$('#result').html('');
},
unhighlight: function (element, errorClass, validClass) {
$(element).removeClass('error').addClass('success');
},
success: function (label) {
label.text('OK!').addClass('valid');
},
请参阅:如果不看到HTML,我们如何回答?为简明的示例提供足够的代码。另请参见,请修改最后一句中的语法和拼写。。。就目前而言,我不知道你想说什么~“哪个添加了类和标签文本”?谢谢Sparky-我出去了一天,刚刚有时间做了一把小提琴-它现在看起来确实有效,但我确实想看看你发布的内容,因为我的代码似乎与你的提示相反。