2010-04-10 69 views
5

我在我的模型上有自定義的類級驗證屬性,它繼承自ValidationAttribute。ASP.NET MVC Class級別的自定義數據註釋和ModelState鍵

當它的IsValid爲false時,它如何在ModelState中註冊一個鍵?我可以在ModelState.Values集合中看到錯誤消息,但ModelState.Keys集合僅顯示一個空字符串「」。我可以爲它提供一個密鑰 - 大概是因爲它沒有分配給一個屬性?

我想在我的控制器中使用ModelState.Remove在特定條件下刪除此錯誤,但我沒有密鑰!

任何想法?

+0

我有同樣的問題,我需要檢查多個值,所以我瘋了一個級別的自定義屬性,但我沒有得到任何回顯示我有錯誤的視圖。我得到的印象是,使用數據註釋進行模型驗證最好是缺乏光澤。 – JBeckton 2011-01-20 19:07:22

+0

這個問題http://stackoverflow.com/questions/4266632/unable-to-set-membernames-from-custom-validation-attribute-in-mvc2有同樣的問題和解決方案也希望達幫助。 – Vipresh 2012-01-03 14:03:26

回答

0

如何檢查IModelBinder.OnModelUpdated中的ModelError.Exception。