2012-05-29 9 views
5

Çalıştığım ürün, sahne arkasında çalışan MVC3 ile JQuery doğrulama kullanıyor. Sadece okuduğum bir alanım var (bir düşme değerinin> 0 olup olmamasına göre) veya değil.Salt okunur alanlarda jquery doğrulamasını nasıl devre dışı bırakabilirim?

Hile, bu alanın salt okunur olmadığında gerekli olması ve salt okunur olduğunda, veriler içerip içermediğine bakılmaksızın hata olmadan gönderilmesi gerekir.

Bunu yapmak için nasıl gitmeliyim?

cevap

14
$.validator.setDefaults({ 
    ignore: ':hidden, [readonly=readonly]' 
}); 

ignore parametre için varsayılan ":hidden" olduğunu. Yukarıdaki kodu kullanarak varsayılanı sıfırlayarak, jquery validate öğesinin hala gizli form öğelerinde hareket etmediğinden emin olun, ancak readonly="readonly" özniteliğine sahip olan öğeler üzerinde de işlem yapmazsınız. yorumların garip sesler

için

Cevap, daha fazla yardım almak için bazı kod göndermek gerekebilir.

$('#the_text_box').attr('readonly', 'readonly'); 
$.validator.setDefaults(':hidden'); 
$('form').valid(); 
$.validator.setDefaults(':hidden, [readonly=readonly]'); 

Ayrıca anlık önlemek için Sayfanın ilk açılışı sırasında benzer bir şey yapabileceğini: Kimlik doğrulama hatalarının kaldırmak için deneyebilirsiniz bir şey bu belki gibi salt okunur özniteliği, bir şeyler geçiş yaparken manuel formu geçerli kılmaktır doğrulama hata mesajları.

$.validator.setDefaults(':hidden, [readonly=readonly]'); 
$('form').valid(); 
+0

Teşekkür ederim, bu, istemci tarafı onayının sayfayı reddetmesine izin vermedeki hileyi yapıyor gibi görünüyor. Aynı zamanda, sayfayı ilk kez yüklediğimde, doğrulayıcılar, tüm boş okuma alanları için geçersiz olduklarını anında iletir. Ayrıca, JavaScript'i kullanarak alanı değiştirdiğimde geçersiz ayarı kaldırmıyor gibi görünüyor. Bir şeyi özlüyor muyum, yoksa bu benim ürünümün uygulanmasına özgü bir şey mi? – Brisbe42

+0

Sadece neler olduğunu açıklamak için, bu benim için işe yaradı - bir noktaya. Kodumda, sayfayı zaten sunucu tarafında uygulanan doğrulama hatalarıyla başlatan bazı gizli özellikler vardı. Bunları etkileyen bir çözüm bulmak zorunda kaldım. Öğelerdeki .valid(), salt okunur bayrağın çevrilmesiyle birlikte, istemci tarafı doğrulaması için çalıştı. Yardım için teşekkürler! – Brisbe42