我有一个包含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>
$("#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"]')
?
谢谢!
答案 0 :(得分:1)
$("#commentForm").validate();
$('#commentForm [name^="cname"]').each(function() {
$(this).rules('add', { required : true, minlength: 2 });
});
同时检查jQuery.validator.addClassRules是否添加了自己的基于类的规则(例如.min-2或smth)
答案 1 :(得分:-1)
试试这个:
$( "[name^='cname']" ).rules( "add", {
required: true,
minlength: 2
});
更多信息:http://jqueryvalidation.org/rules。请记住:
要求验证父表单,即首先调用$(“form”).validate()