我正在使用JQuery Validation。现在我希望仅在满足某些条件时调用我的规则,即我希望$("#AppSelectField").is(':hidden')
返回false
,然后才调用规则。
我的规则如下:
$(function() {
$("#RequestLock").validate({
rules: {
FloorNum:{
required: true,
digits: true
},
},
message: {
FloorNum: "The floor number must be integer",
},
});
});
如何修改上述部分以满足我的需求? 注意我不想为required
和digits
编写自己的自定义方法。
答案 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窒息)