2011-07-12 11 views
6

JS (Validate & Ajax) dosyalarının MVC3 ve I ile birlikte içerdiği farkın ne olduğunu açıklayan iyi bir makale veya snippet bulmaya çalışıyorum hiçbir şey bulamadı.MVC3 Ajax/JS dosyalarının Hızlı ve Kirli Açıklamaları, lütfen :)

birisi nazik farklılıkları açıklayabilir misiniz ve kullanımını olman gerekiyordu nasıl (örn yapar X nedenle, vb yerine kullanılan diğer kapalı bir kumbara,):

  • jquery.validate, jquery .validate.unobtrusive ve MicrosoftMVCValidation
  • MicrosoftAjax &,-jquery.unobtrusive ajax MicrosoftMVCAjax

bu devam eklemek için - temelde neden göze batmayan veya MVC doğrulama vs jquery.validate kullanacaktır. Ya da Ajax dosyaları için jquery.validate, vb. Ile birlikte amaçları nedir.

  • (jquery.validate ve jquery.validate.unobtrusive)

seçin (MicrosoftMVCValidation) vs:

Teşekkür İşte

cevap

7

:) önceden bir ton benim 2 sent ilk olarak, HTML5 data-* özniteliklerinin girdi alanları üzerinde oluşturulduğu ve onaylayıcıların ayrı javascript dosyalarına göze batmadan eklenmediği anlamsızdır. Microsoft doğrulama ile son işaretleme artık işaretlemiyor, ancak işaretleme javascript ile karıştırılıyor. Sadece bu, HTML sayfalarınızın boyutunu artırmaz, aynı zamanda harici statik kaynakların tarayıcı önbellekleme yeteneklerinden yararlanmalarını daha da imkansız hale getirir.

Doğrudan jQuery.validate eklentisini kullanıp kullanamayacağımı veya otomatik olarak oluşturulmuş HTML5 data- * özelliklerinden yararlanıp kullanamayacağımı ve jquery.validate.unobtrusive komut dosyasının bazı DataAnnotations kurallarına göre otomatik istemci komut dosyası doğrulama işlemi yapmasına izin veriyorum. Görünüm modellerim. Aslında, ben DataAnnotations ama FluentValidation.NET kullanmayın ama her ikisi de ModelMetaData yayarlar istemci tarafında fark etmez. ASP.NET MVC 3 Microsoft ile bu jquery.validate.unobtrusive komut dosyaları ile bir adım ileri sürdüğüne katılıyorum. Ama temel olarak, üzerinde çalıştığım projeye ve ihtiyacım olan kontrol miktarına bağlı olacak. Eğer jquery.unobtrusive arasında seçmek zorunda

  • (jquery.unobtrusive-ajax) (MicrosoftAjax & MicrosoftMVCAjax) saf jQuery kullanarak size öneriyoruz yukarıdaki :-) ait

Yok vs ama eğer -Jaax ve MicrosoftAjax, bir öncekiyle aynı nedenlerden ilki seçerler. Şimdi muhtemelen neden sevmediğimi açıklamalıyım. Daha önce tüm Microsoft * betiklerinin bütünlüklerini işaret ettim, bu yüzden tekrar etmeyelim. Microsoft bile kendi hatalarını fark etti ve ASP.NET MVC 3'ten başlayarak jQuery varsayılan kütüphane haline geldi ve onların betikleri sadece dönüştürdüğünüz eski uygulamalarla uyumluluğa dahil edildi, ancak gelecek sürümlerde bunların tamamen ortadan kalkacağını tahmin ediyorum. Soru, jQuery.unobtrusive-ajax ile karşılaştırıldığında neden saf jQuery? Eh, ilk olarak AJAX taleplerinin olayları üzerinde çok daha fazla kontrol sahibi oldum. Jquery.unobtrusive-ajax ile, JSON nesneleri OnSuccess geri aramada döndüğünde, otomatik olarak javascript nesnelerine ayrıştırılmazsınız, ayrıştırma işlemini elle yapmanız gerekir ve bu sadece beni deli eder.

+0

Bu harika ve tam olarak aradığım şey. :) Bir yan soru ... Doğrulama ile, sayfanıza her iki betiği koyar mısınız yoksa sadece birini mi seçersiniz? ör. jquery.validate üzerinde göze batmayan bir bağımlı mıdır? – Joshua

+0

@Joshua, evet aşağıdaki 3 betiğe ihtiyacınız var: jquery, jquery.validate ve jquery.validate.unobtrusive. –

+0

Yardım için bir milyon teşekkür! :) – Joshua