jQuery验证三个选择框作为一个

时间:2016-03-15 11:22:22

标签: jquery validation

我有一个包含电子邮件和Dob字段的表单。我使用jquery验证插件来验证这些字段。但是,由于dob有三个选择框,它会验证每个选择框。我尝试将这些分组为一个,如果用户选择日期而不是月份或年份,则会在这三个选择框的一侧返回错误。

我现在所拥有的是它将验证所有三个框,并且错误消息将出现在这三个框中的每一个上。如何将它们组合在一起并在这三个框的一侧显示错误消息。

我的html表单如下:

  <div>
    <label for="registerEmail">Email</label>
    <input type="email" name="registerEmail" id="registerEmail">
  </div>
  <div>
    <label for="registerDOB">Date of Birth *</label>
    <select class="date" id="dobday" name="dob[]" value=""></select>
    <select class="date" id="dobmonth" name="dob[]" value=""></select>
    <select class="date" id="dobyear" name="dob[]" value=""></select>
  </div>

和我的jquery脚本:

  $(".validate").validate({
    rules: {
      registerEmail: "required",
      'dob[]': "required",
    }
  });

我的jsfiddle: https://jsfiddle.net/h7w711y2/2/

1 个答案:

答案 0 :(得分:1)

我认为你有两种选择:

  • 为“dob []”字段设置group

    $(".validate").validate({
        rules: {
          registerEmail: "required",
          'dob[]': "required",
        },
        groups: {
            dob: 'dob[]'
        }
    });
    
  • 定义您自己的invalid handler并控制自己该做什么。