JQuery中的条件规则验证

时间:2009-07-07 07:21:57

标签: jquery

我正在使用JQuery Validation。现在我希望仅在满足某些条件时调用我的规则,即我希望$("#AppSelectField").is(':hidden')返回false,然后才调用规则。

我的规则如下:

$(function() {
    $("#RequestLock").validate({
        rules: {
        FloorNum:{
        required: true,
        digits: true
        },


    },
    message: {
     FloorNum: "The floor number must be integer",

},

});
});

如何修改上述部分以满足我的需求? 注意我不想为requireddigits编写自己的自定义方法。

1 个答案:

答案 0 :(得分:16)

这应该这样做:

$(function() {
    var checkIfFieldVisible = function() {
        return !$("#AppSelectField").is(':hidden');
    };

    $("#RequestLock").validate({
        rules: {
            FloorNum: {
                required: { depends: checkIfFieldVisible },
                digits: { depends: checkIfFieldVisible }
            }, // <-- EXTRA COMMA
        },
        message: {
            FloorNum: "The floor number must be integer",
        }, // <-- EXTRA COMMA
    });
});

(我在你的代码上标记了一些额外的逗号,因为它们会让IE窒息)