我有一个 asp.net 表单,我正在尝试使用Jquery Validation插件。我正在尝试使用rules
方法使用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();
}
});
});
我已设置ClientIDMode="Static"
,以便我可以直接使用控制ID。但是,这不起作用。谁能告诉我问题出在哪里?我似乎无法将手指放在上面。
这是 JsFiddle
答案 0 :(得分:8)
是的,如接受的答案中所述,您必须在调用.validate()
方法之前调用.rules()
(初始化)。
<强>然而强>
1)由于.validate()
只是初始化方法(只被称为一次),因此无需将其包装在click
处理程序中。该插件已经自动捕获点击事件。
2)在此示例中,不需要内部仅包含submitHandler
的{{1}},因为这已经是form.submit()
的默认行为。完全离开submitHandler
将产生相同的结果。虽然,如果您需要在提交时使用ajax或执行其他一些代码,那么请务必使用submitHandler
。
submitHandler
DEMO:http://jsfiddle.net/85KR4/5/ (成功提交后会定期发布表单)
DEMO 2:http://jsfiddle.net/85KR4/7/ (ajax呼吁成功提交)
答案 1 :(得分:3)
除订单外,一切都是正确的。
首先,您应该致电validate
,之后您可以致电rules
。