最小人数最大人数字段,使用jquery验证插件进行验证

时间:2018-07-09 11:39:45

标签: jquery jquery-validate

在我的表格中,我允许在文本框中输入“最低人数”和“最高人数”。我已经用最小参数的最小参数来验证,但是我该如何验证最小人字段也应该小于最大人,反之亦然。最小人数和最大人数也不应相同。有人可以帮我吗?预先感谢!

$("#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 }
        }

    });
});

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;
            }
        },
        ....
  1. 如果填写了其他字段,则每个字段只有required

  2. min字段上max_persons规则的参数由min_persons字段的值确定。

  3. 这两个字段永远不能相等,因为其中一个字段上有一个min规则,该规则总是比另一个字段大一个数字。

工作演示:jsfiddle.net/vxtjbqod/