JQuery中的条件规则validation

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

我的规则如下:

 $(function() { $("#RequestLock").validate({ rules: { FloorNum:{ required: true, digits: true }, }, message: { FloorNum: "The floor number must be integer", }, }); }); 

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

这应该这样做:

 $(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扼流圈)