Javascript jquery验证:在不更改相关字段的值的情况下重新运行远程验证
我有一个这样的远程验证程序设置Javascript jquery验证:在不更改相关字段的值的情况下重新运行远程验证,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我有一个这样的远程验证程序设置 remote: { type: "POST", url: "/some/url", data: { value: function() { return $("#field").val(); }, bypass: function() { if ($("input:radio[name=toggleBypass]:checked").val() == "yes"){ return "yes
remote: {
type: "POST",
url: "/some/url",
data: {
value: function() {
return $("#field").val();
},
bypass: function() {
if ($("input:radio[name=toggleBypass]:checked").val() == "yes"){
return "yes";
}
return "no";
}
}
}
如果bypass为“yes”,ajax总是返回true
它适用于模糊和提交,但如果我重置单选按钮值,然后提交,它不会重新验证
比如说,
您知道如何让它正常工作吗?如果您查看jquery.validate.js中的第897行,您将看到一个优化:
if(previous.old!==value){
如果字段的值没有更改,此行将阻止新的验证。由于您使用的是validate().element()
,因此它只检查该字段,而不是整个表单,因此不会检测到toggleBypass中的更改
请从jquery.validate源代码中删除此检查,或者检查整个表单,而不仅仅是该字段。谢谢您的帮助。我明天回去工作时会尝试此操作。