基于JQuery验证插件模式的验证?

时间:2013-08-23 08:36:12

标签: javascript jquery html5

我有一个包含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"]')

谢谢!

2 个答案:

答案 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()