2010-04-19 26 views
5

MVC 2.0 çerçevesi (Html.ValidationMessageFor() ve Html.EnableClientValidation() ile birlikte) istemci doğrulama işlevini kullanıyorum.ASP.NET MVC istemci doğrulaması, kısmi görünümler ve Ajax

Doğrulamayı basit bir biçimde kullandığımda her şey güzeldir.

Ama jQuery Ajax yoluyla bu formu aldığımda

$.get('PathToMyForm', function(htmlResult) { 
    $('selector').html(htmlResult); 
}); 

istemci doğrulama çalışmaz. Niye ya?

+0

* Nasıl Çalışır? Yeni alanlar doğrulanmadı mı? Hiçbir şey doğrulanmadı mı? Doğrulama kodu nerede? Kısmi mi? İçerisinde mi? Biraz daha fazla kod ve açıklama yararlı olacaktır. – tvanfosson

+0

tvanfosson, [Zorunlu] özelliğine sahip modelim var. Ortak senaryoda (AJAX olmadan, yalnızca Html.RenderPartial) istemci doğrulaması iyi çalışır; metin kutusuna boş bir dize yazıp başka bir metin kutusuna odaklanırsam doğrulama iletisini alırım. Ama AJAX ile - Bu mesajı alamıyorum. – griZZZly8

cevap

0

MVC doğrulaması ve kısmi görünümleriyle ilgili sorunlar yaşadım. Yapılandırma istemci doğrulaması yerine jquery.validate.js kullanarak sıraya dizdim. Bunu deneyebilirsin.

+0

jQuery.validate, modelimi göremiyor. Model sınıflarında doğrulama kurallarını tanımlamak istiyorum. – griZZZly8

+0

Bunu yapabilirsiniz. ASP.NET MVC Futures'ı kontrol edin http://aspnet.codeplex.com/releases/view/41742 –

0

Belki jQuery Ajax yanıtındaki JavaScript kodunu değerlendirmiyor?

jQuery documentation itibaren Ajax çağrısı dataType özelliğini kullanarak

$.get('PathToMyForm', {dataType 'html'}, function(htmlResult) { 
    $('selector').html(htmlResult); 
}); 

deneyin:

dataType Varsayılan: Akıllı Guess (xml, json, senaryoyu veya html)

sunucudan geri beklediğiniz veri türü. Hiçbiri belirtilmezse, jQuery, yanıtın MIME türüne dayalı olarak sonuçların alınmasına akıllıca çalışacaktır (XML MIME türü XML üretecektir, 1.4 JSON bir JavaScript nesnesi verecektir, 1.4 komut dosyasında betiği çalıştıracak ve başka bir dize olarak iade edilecektir).

+0

Rafael Mueller, cevabınız için teşekkürler, ama bana yardım etmiyor. Kısmi görünümüme uyarı ('komut dosyası testi') ekledim - işe yarıyor. Ama hala doğrulama ile ilgili bir sorunum var. – griZZZly8

İlgili konular