0

我正在尝试验证日期、月份、年份的 3 个组合框。

我正在使用 jquery.js 和 jquery.validate.js。如果未选中,它会显示每个组合框的错误,但我只想要一条消息而不是 3 个错误。

4

1 回答 1

1

需要两件事 - 将所有 3 添加到 agroup中,并设置errorPlacement选项以适当地放置错误消息。

因此,如果您的表单如下所示:

<form>
  <select name="day" class="required">
     <option value="">Day</option>
     <option value="1">1</option>
     <!-- etc -->
  </select>
  <select name="month" class="required">
     <option value="">Month</option>
     <option value="1">Jan</option>
     <!-- etc -->
  </select>
  <select name="year" id="year" class="required">
     <option value="">Year</option>
     <option value="2013">2013</option>
     <!-- etc -->
  </select>
  <br>
  <input type="submit">
</form>

然后你需要一个像这样的 jQuery Validate 调用:

$('form').validate({
   groups: {
      myDate: 'day month year'
   },
   errorPlacement: function(error, element) {  
     if (element.attr("name") == "day" 
             || element.attr("name") == "month" 
             || element.attr("name") == "year" )
        error.insertAfter("#year");
     else
        error.insertAfter(element);
   }
});

如果你把它们放在一起,你会得到一个看起来像这样的例子:http: //jsfiddle.net/ryleyb/Yzdag/

于 2013-06-13T15:37:32.933 回答