JQuery根据选择框验证文本字段

时间:2010-03-05 11:46:48

标签: jquery validation jquery-validate

我正在尝试使用JQuery验证插件验证输入字段。 数值范围[range()]取决于选择框的值。 例如,当选择框为“A”时,范围应该在1到10之间。但是当它的“B”时,它应该在5到10之间,依此类推。我试着读出选择框的值并调用函数来验证输入,并传递最小值。

这样可行但是当你选择“A”并且你认为嗯它应该是“B”时它仍然被验证为“A”。 我在考虑'依赖',但我只认为它适用于'必需'。

$("#theSelectID").change(function () {
        var theValueOfSelected = $('#LeverancierID :selected').text();
        switch(theValueOfSelected){
        case "A":
            minval(1, "Null");
            break;
        case "B":
            minval(5, "PRCC");
            break;
            }
            function minval(theVal, theLev){
        $("#AddInkoop").validate({  
            rules: {
                Aantal: {
                    required: true,
                    range: [theVal, 999]
                }
            },
            messages: {
                Aantal:{
                    required:"required",
                    range: "give a number between "+ theVal +" and 999."
                }
            }
         });
    }

1 个答案:

答案 0 :(得分:0)

我认为你会倒退。每次选择框更改时,不要更改验证设置,而是设置验证规则,以便使用反映选择框当前值的函数计算最小值。请注意,您可能希望更新一些描述性文本,以指示选择更改时可接受的范围。

 $("#AddInkoop").validate({  
        rules: {
            Aantal: {
                required: true,
                range: function() { return [ $('#LeverancierID').val(), 999 ]; }
            }
        },
        messages: {
            Aantal:{
                required:"required",
                range: "the value is outside the acceptable range"
            }
        }
});