Javascript Jquery验证插件规则方法不起作用

Javascript Jquery验证插件规则方法不起作用,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我有一个asp.net表单,试图在其中使用Jquery验证插件。我正在尝试使用javascript添加规则,并使用该方法。所以我试过这样的方法 $('#btnSave').on('click', function () { $("#txtAmount").rules("add", { required: true, minlength: 2, messages: { required: "Required input

我有一个asp.net表单,试图在其中使用Jquery验证插件。我正在尝试使用javascript添加规则,并使用该方法。所以我试过这样的方法

$('#btnSave').on('click', function () {
    $("#txtAmount").rules("add", {
        required: true,
        minlength: 2,
        messages: {
            required: "Required input",
            minlength: jQuery.format("Please, at least {0} characters are necessary")
        }
    });
    $('form').validate({
        submitHandler: function (form) {
            form.submit();
        }
    });
});
我已经设置了
clientdmode=“Static”
,以便可以直接使用控件ID。然而,这是行不通的。谁能告诉我哪里出了问题。我似乎不能把我的手指放在上面


这是一个

除了顺序之外,一切都是正确的。 首先,您应该调用
验证
,然后再调用
规则


是,如接受答案中所述,在调用
.rules()
方法之前,必须调用
.validate()
(初始化)

但是:

1) 由于
.validate()
只是初始化方法(只调用一次),因此无需将其包装在
单击处理程序中。该插件已自动捕获单击事件

2) 在本例中,不需要只包含
表单的
submitHandler
,因为这已经是
submitHandler
的默认行为。将
submitHandler
完全保留在外将产生相同的结果。尽管如此,如果您需要在提交时使用ajax或执行一些其他代码,那么请务必使用
submitHandler

$(document).ready(function() {

    $('form').validate({
        // other rules and options
    });

    $("#id1").rules("add", {
        required: true,
        minlength: 2,
        messages: {
            required: "Required input"
        }
    });

});
演示:(成功提交时调用常规表单操作)


演示2:(成功提交时调用ajax)

在JSFIDLE中,使用这一行
$(“#id1”).rules(“添加”,{
我将继续测试JSFIDLE。bbiab@JPHellemons,愚蠢的我。只是一个输入错误。但它仍然不起作用。是的,我希望它是一个小的输入错误。我正在查看你的JSFIDLE。我正在点击一个
Shell表单,目前它不验证JSFIDLE
。我应该先尝试一下。再一次,愚蠢的我。感谢你的快速响应。不是吗非常“正确,除了顺序”…单击处理程序是完全多余的。@Sparky,你完全正确。除了主要错误之外,没有注意到任何东西-我的错。