2011-01-24 26 views
7

Asp.net mvc sayfamda, belirli giriş alanlarını sıfırlayan ve tüm hata iletilerini temizleyen bir "temiz" düğüme sahip olmamız gerekir. Girdileri silmek iyidir, ancak doğrulama mesajları asp.net mvc javascript tarafından üretildiğinden, bunları nasıl temizleyeceğimi açık değil mi?jQuery ile ASP.Net MVC doğrulama mesajlarını temizle

Güncelleme: Bu benim için iyi çalışıyor.

$(".field-validation-error").empty(); 
+0

Silmek istediğiniz sunucu tarafı hata iletileri mi? –

+0

İstemci tarafında oluşturulduklarını sanıyordum ama kemancıları bağladım ve hepsinden sonra sunucu tarafında üretildim. Yeniden göndermeye gerek duymadan istemcideki bir tuşa basarak onları kaldırabilirsem hoş olurdu. – sipwiz

cevap

4

Tarayıcıda oluşturulan html kodunu görüntüleyebilir ve daha sonra jQuery ile kopyalayabilirsiniz.

  • Normal geri gönderme: empty()

    oluşturulan kodunu bulmak için tarayıcıda sayfanın "kaynak kodunu" görmek ve hata iletisini arayın. Boşaltmak için üst div'u bulun.
  • Ajax araması: Chrome'daki öğeleri sağ tıklayın ve inceleyin (diğer modern tarayıcılar farklı olarak adlandırırlar ancak alete sahip olmalıdırlar). Bu size mevcut durumdaki html'yi verecektir (ajax çağrısından sonra). Ebeveyn divunu bulun ve boşaltın.

Umut bu yardımcı olur

0

bir sıfırlama giriş butonu yardım edebileceğini olması, ancak formu yüklendi zaman sadece devlet geri formu sıfırlar.

Tüm değerleri sıfırlamak istediğimde, genellikle bir köprüyü sıfırlama düğmesi olarak gizlerim. Birisi tıkladığında, form için yeni bir GET isteği yapar. Bir GET isteği için denetleyici eylemi sadece yeni bir boş model döndürdüğünden, "temiz" düğmesiyle aynı etkiye sahiptir.

+0

Evet, bu en kolay yol olabilir ama yine de müşteri tarafında bir yol olup olmadığını bilmek istiyorum. – sipwiz

+0

Evet, muhtemelen "jQuery ile" başlığınızı okumalıydım. – danludwig

1

herhangi jQuery nesne üzerinde çağırabilir basit ve yeniden kullanılabilir jQuery işlevi:

$.fn.clearErrors = function() { 
    $(this).each(function() { 
     $(this).find(".field-validation-error").empty(); 
     $(this).trigger('reset.unobtrusiveValidation'); 
    }); 
}; 

Kullanımı:

question.clearErrors(); 

Orjinal cevap: https://stackoverflow.com/a/16165831/114029

1
$('.field-validation-error').text("") 
+2

Diğer okuyuculara faydalı olması için lütfen cevabınıza biraz açıklama ekleyin. –