JQuery中的条件规则验证

Gra*_*ton 6 jquery

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

我的规则如下:

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


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

},

});
});
Run Code Online (Sandbox Code Playgroud)

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

Pao*_*ino 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
    });
});
Run Code Online (Sandbox Code Playgroud)

(我在你的代码上标记了一些额外的逗号,因为它们会使IE扼流圈)