我有一个包含5个输入字段的表单,我的验证如下所示。我正在使用jquery验证插件。
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.js"></script>
JQuery代码:
$("#commentForm").validate({
rules: {
cname1: { required : true, minlength: 2 },
cname2: { required : true, minlength: 2 },
cname3: { required : true, minlength: 2 },
cname4: { required : true, minlength: 2 },
cname5: { required : true, minlength: 2 }
}
});
验证工作正常,没有任何问题。我的要求是,正如您可以看到的那样,所有输入名称都会启动第五个cname
。这里,我不能为所有以同名cname
开头的字段定义规则,而是可以基于模式定义规则吗?类似于$('[name^="cname"]')
?
谢谢!
发布于 2013-08-23 09:03:28
$("#commentForm").validate();
$('#commentForm [name^="cname"]').each(function() {
$(this).rules('add', { required : true, minlength: 2 });
});
还可以检查jQuery.validator.addClassRules是否添加了自己的基于类的规则(比如.min-2或smth)
发布于 2013-08-23 09:03:16
试试这个:
$( "[name^='cname']" ).rules( "add", {
required: true,
minlength: 2
});
更多信息:http://jqueryvalidation.org/rules。并记住:
假设父窗体被验证,即首先调用$(“form”).validate()
https://stackoverflow.com/questions/18398400
复制相似问题