jQuery – 如何dynamic添加validation规则
我试图dynamic地添加一个validation规则到一些dynamic控件:
$("input[id*=Hours]").rules("add", "required");
但是这一行给我以下错误:
$ .data(element.form,“validator”)为空
使用validate函数定义规则的静态方式正常工作。 我究竟做错了什么?
谢谢,贾斯汀
您需要先调用.validate()
然后才能以这种方式添加规则,如下所示:
$("#myForm").validate(); //sets up the validator $("input[id*=Hours]").rules("add", "required");
.validate()
文档是一个很好的指南,下面是关于.rules("add", option)
:
添加指定的规则并返回第一个匹配元素的所有规则。 需要validation父表单,即首先调用
$("form").validate()
。
要validation所有dynamic生成的元素,可以为每个元素添加一个特殊的类,并使用each()函数
$("#DivIdContainer .classToValidate").each(function () { $(this).rules('add', { required: true }); });
该文件说:
添加指定的规则并返回第一个匹配元素的所有规则。 需要validation父表单,即首先调用$(“form”)。validate()。
是你做的吗? 错误消息种类表示您没有。
以及确保你有第一个$("#myForm").validate();
,请确保在添加validation规则之前,您的dynamic控件已添加到DOM。