jQuery Validate动态填充组

时间:2014-09-30 16:20:24

标签: javascript jquery forms jquery-validate

我有一个标记为以下内容的表单:

 <form>
    <label for="day">Day</label><input type="text" name="day" id="day">
    <label for="month">Month</label><input type="text" name="month" id="month">
    <label for="year">Year</label><input type="text" name="year" id="year">
 </form>

不幸的是,字段上的名称将是动态的,直到运行时才会知道。有3个字段是必需的,并希望它们有1个错误消息。

我尝试使用名为myGroupData的变量填充组,但它不起作用。代码看起来像这样:

$('#myform').validate({
  rules..., 
  groups myGroupData,
  errorPlacement
});

var myGroupData = {DateofBirth: "day month year"};
       or
var myGroupData = {DateofBirth: "field1 field2 field3 etc..."}'  //field1, field2, field3 will be the names of the dynamic fields

谢谢,任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

根据您对已删除答案的评论中的jsFiddle

您必须在使用 之前定义变量 ...

var myGroups = {DateofBirth: "day month year"};

$('#myform').validate({
    rules: {
        day: "required",
        month: "required",
        year: "required"
    },
    groups: myGroups
});

DEMO:http://jsfiddle.net/v0dmuvor/

不知道为什么我最初无法完成这项工作......也许jsFiddle剥落了。


备注:

  • .validate()只是插件的初始化方法。一旦被调用,它就不能(也不会)被再次调用。后续调用将被忽略。

  • 插件作者尚未提供动态更改除规则/消息之外的任何选项的方法。调用.validate()后,插件的选项就会被锁定。


编辑:不确定您的想法是否是&#34; 动态&#34;和我一样。但是,如果您计划在页面加载并初始化插件后更改groups选项的参数,则无法按照上述说明进行操作。