2009-07-07 74 views
6

我正在使用JQuery Validation。現在我希望只有在滿足某些條件時才調用規則,即我要$("#AppSelectField").is(':hidden')返回false,然後才調用規則。JQuery中的條件規則驗證

我的規則如下:

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


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

}, 

}); 
}); 

如何修改上面的部分,以滿足我的需要? 注意我不想爲requireddigits編寫我自己的自定義方法。

回答

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

+0

我們可以驗證基於某些/不驗證整個表單值?例如,我有一個嵌套的表單與保存/提交按鈕。我只想驗證提交。我的問題是,當我在每個領域有類=「必需」,因爲表格非常動態。請幫忙。 – Aanu 2011-08-18 18:26:32