2010-04-10 20 views
5

Modelimde, ValidationAttribute öğesinden devralma özel sınıf düzeyinde doğrulama özniteliğim var.ASP.NET MVC Sınıf düzeyi özel veri açıklaması ve ModelState tuşları

IsValid öğesi yanlış olduğunda, ModelState'de bir anahtarı nasıl kaydetmez? ModelState.Values ​​koleksiyonundaki hata iletisini görebiliyorum, ancak ModelState.Keys koleksiyonu yalnızca boş bir dize "" gösteriyor. Bunun için bir anahtar sağlayabilir miyim - muhtemelen bunun bir mülke verilmemesi yüzünden mi?

Belirli bir koşulda bu hatayı kaldırmak için denetleyicimde ModelState.Remove özelliğini kullanmak istiyorum, ancak Anahtarım yok!

Herhangi bir fikrin var mı?

+0

Aynı problem var, birden fazla değeri kontrol etmem gerekti, bu yüzden bir sınıf düzeyi özel özniteliğimi delirdim ama bir hatam olduğunu gösteren görünüme hiçbir şey alamıyorum. Model doğrulama için veri ek açıklamaları kullanmanın en iyi şekilde parlaklık olmadığı izlenimini ediniyorum. – JBeckton

+0

Bu soru, http://stackoverflow.com/questions/4266632/unable-to-set-membernames-from-custom-validation-attribute-in-mvc2 aynı soruna ve çözümün de yardımcı olacağını ummaktadır. – Vipresh

cevap

0

ModelError.Exception'ı IModelBinder.OnModelUpdated içinde denetlemeye ne dersiniz?