在我的表格中,我允许在文本框中输入“最低人数”和“最高人数”。我已经用最小参数的最小参数来验证,但是我该如何验证最小人字段也应该小于最大人,反之亦然。最小人数和最大人数也不应相同。有人可以帮我吗?预先感谢!
$("#frmCont").validate({
rules:{
name:{ required:true},
min_persons:{ digits:true,min:1 },
max_persons:{ digits:true,min:1 },
duration:{ digits:true,min:1 },
price_per_person:{ digits:true,min:1 }
}
});
});
答案 0 :(得分:0)
您将编写一个返回规则参数的函数,该函数使其依赖于另一个字段的值或状态。
$("#frmCont").validate({
rules: {
min_persons: {
required: function(element) {
return $('[name="max_persons"]').is(':filled');
},
digits: true,
min: 1
},
max_persons: {
required: function(element) {
return $('[name="min_persons"]').is(':filled');
},
digits: true,
min: function(element) {
return parseInt($('[name="min_persons"]').val()) + 1;
}
},
....
如果填写了其他字段,则每个字段只有required
。
min
字段上max_persons
规则的参数由min_persons
字段的值确定。
这两个字段永远不能相等,因为其中一个字段上有一个min
规则,该规则总是比另一个字段大一个数字。