我一直在尝试使用jQuery验证插件的“group”选项来验证两个下拉框,这两个下拉框都是必需的,但只应显示一个错误消息:
JavaScript代码:
$('form').validate({
groups: {
cardExpiration: 'card_expirationMonth card_expirationYear'
},
rules: {
card_expirationMonth: 'required',
card_expirationYear: 'required'
},
errorPlacement: function (error, element) {
if (element[0].name === 'card_expirationMonth' || element[0].name === 'card_expirationYear') {
error.prependTo('form');
}
}
});
标记:
<form method="post" action="/wherever">
<div class="-field field-expirationMonth">
<select name="card_expirationMonth" id="card_expirationMonth">
<option value="">MM</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="etc">Etc</option>
</select>
</div>
<div class="-field field-expirationYear">
<select name="card_expirationYear" id="card_expirationYear">
<option value="">YY</option>
<option value="2012">12</option>
<option value="2013">13</option>
<option value="2014">14</option>
<option value="2015">15</option>
<option value="etc">Etc</option>
</select>
</div>
</form>
这似乎将错误消息分组,以便仅有一个可见,但它似乎采取的方法是只需要组中的一个字段... 有任何想法吗?