2009-07-07 16 views
6

JQuery Validation kullanıyorum. Şimdi benim kurallarımın yalnızca belirli bir koşulun yerine getirilmesiyle çağrılmasını istiyorum, yani'un false'u geri getirmesini istiyorum, sadece kuralları çağırıyorum.Koşullu Kural Doğrulaması JQuery

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


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

}, 

}); 
}); 

nasıl ihtiyaçlarını karşılamak için yukarıdaki bölümü değiştirmek için:

Benim kuralları

aşağıdaki gibidir? Not required ve digits için kendi özel yöntemimi yazmak istemiyorum.

cevap

16

Bu yapmalıyım:

$(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 
    }); 
}); 

+0

biz/belli dayalı tüm formu doğrulamaz doğrulamak Can (onlar IE jikleyi yapacak şekilde, kendi koduna sahip bazı ekstra virgül işaretli) değerleri ?. Örneğin, kaydet/gönder düğmeleriyle yuvalanmış bir formum var. Sadece Gönderim'de doğrulamak istiyorum. Benim sorunum, form çok dinamik olduğu için her alanda sınıf = "gerekli" olduğunda. Lütfen yardım et. – Aanu

+1

Bu işleve bile ihtiyacınız yok, sadece ayarlayabilirsiniz 'yerine = '#AppSelectField: visible'' – forivall

İlgili konular