jQuery验证:复选框的初始/动态验证
我正在使用jquery验证插件:。现在,我有一个带有简单验证方法的代码段,该方法用于根据给定参数验证复选框的数量jQuery验证:复选框的初始/动态验证,jquery,jquery-validate,Jquery,Jquery Validate,我正在使用jquery验证插件:。现在,我有一个带有简单验证方法的代码段,该方法用于根据给定参数验证复选框的数量 $.validator.methods.cbMinRequired = function (value, element, param) { return $(element).parent().find(":checked").length >= param; }; $(function () { // validate the comment form whe
$.validator.methods.cbMinRequired = function (value, element, param) {
return $(element).parent().find(":checked").length >= param;
};
$(function () {
// validate the comment form when it is submitted
$("#myform").validate({
keyup: true,
keypress: true,
click: true,
change: true,
debug: true,
errorClass: "invalid",
rules: {
mycheckboxes: {
cbMinRequired: 1
}
}
});
});
看看我的小提琴:
正如你所看到的,我有一个问题
我必须先触发“提交”来验证表单。但我想在加载后验证它。正如我所想,最初没有触发submit的选项,因为最后我想用这个按钮触发一个“save action”,页面加载后不应该调用这个按钮
有什么想法可以解决这个问题吗?您可以调用该方法来触发验证,而无需提交
if (!$("#myform").valid()) {
// Complain
}
查看您的“我的版本”,页面加载时会显示验证消息。您的代码:
$(function () {
$("#myform").validate({
keyup: true,
keypress: true,
click: true,
change: true,
debug: true,
errorClass: "invalid",
rules: {
mycheckboxes: {
cbMinRequired: 1
}
}
});
});
您的代码有一个主要问题:称为keyup
,keypress
,单击
,或更改
,onkeyup
,onfocusout
,onclick
,以及onsubmit
,它们在默认情况下已经是“true”。。。如果不中断插件,则无法将它们设置为true
。您只能将其设置为false
以禁用,或将其设置为自定义功能
然后,您可以在希望的任何时候通过使用以编程方式触发验证测试
这将在页面加载时触发验证
$(function () {
$("#myform").validate({ // initialize the plugin
// options
});
$("#myform").valid(); // trigger validation on page load
});
您的演示更新了:酒吧招待是正确的,但是如果您想在第二次提交时提交onload并处理提交,您可以使用flag变量并提交
$('#myform').submit();
submitEnabled = true;
JSFIDLE已更新。在我的情况下,它不起作用:我想查看错误消息。它是如此奇怪:一个简单的范围输入字段是在飞行中检查,但首先,在失去一倍的焦点。那就不需要提交了。复选框确实需要这样做。这使得插件在我的情况下是不必要的。真的很糟糕,如果我明白你想要什么的话。看看我的小提琴。另一个(愚蠢的)问题是我试图用这种方式触发它:$(“#myform”).validate({…}).valid()。。。不要尝试!:)如果我把电话分开,效果会很好是的,看起来他没有正确地编码,这样就可以链接了
.validate()
返回一个验证器对象,而不是jQuery对象。此插件没有名为keyup
、keypress
、单击
或更改
的选项。
$('#myform').submit();
submitEnabled = true;