繁体   English   中英

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

[英]Jquery Validate plugin rules method not working

我有一个asp.net表单,我试图使用Jquery Validation插件。 我试图使用rules方法使用javascript添加rules 所以我试过这样的事情

$('#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();
        }
    });
});

我已经设置了ClientIDMode="Static"以便我可以直接使用contorl ID。 但是,这不起作用。 谁能告诉我问题出在哪里? 我似乎无法将手指放在上面。

这是一个JsFiddle

是的,作为公认的答案解释,你必须调用.validate()调用之前(初始化) .rules()方法。

然而:

1)因为.validate()只是初始化方法(只调用一次 ),所以不需要将它包装在click处理程序中。 该插件已经自动捕获click事件。

2)在这个例子情况下,没有必要对submitHandler只包含一个form.submit()内,因为这已经是默认行为submitHandler 完全退出submitHandler将产生相同的结果。 虽然,如果您需要在提交时使用ajax或执行其他一些代码,那么请submitHandler使用submitHandler

$(document).ready(function() {

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

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

});

演示: http//jsfiddle.net/85KR4/5/ (成功提交的常规表单操作)

演示2: http//jsfiddle.net/85KR4/7/ (ajax呼吁成功提交)

除了订单,一切都是正确的。 首先,您应该调用validate ,之后您可以调用rules

http://jsfiddle.net/85KR4/3/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM