2014-07-23 28 views
1

我正在編寫一個MVC應用程序,它具有對其進行驗證的表單。ModelState.Errors由空字符串組成

當我詢問的錯誤,像這樣:

foreach (ModelState modelState in ViewData.ModelState.Values) 
{ 
    foreach (ModelError error in modelState.Errors) 
    { 
     Debug.WriteLine(error.ErrorMessage); 
    } 
} 

在error.ErrorMessage返回的錯誤信息是一個空字符串( 「」)。我可以輕鬆地編寫一些驗證錯誤消息是否都是空字符串的代碼,但這是一種破解!

有誰知道這可能是爲什麼?上下文是一個有一些下拉的表單。如果我從下拉輸入中選擇一個項目,則返回錯誤,但如果這些下拉列表保持其默認狀態,則驗證正確。

非常感謝,S

+2

你是如何設置的驗證?它是屬性模型中的屬性嗎? – barrick

+2

檢查成員屬性並驗證是否有ErrorMessage屬性集的驗證屬性。 –

+0

向我們展示您提供了'ErrorMessage'的模型 – Madhu

回答

0

如果您想驗證一個模型,你必須使用dataannotation屬性像[必填],你用這些註解? Link

然後,你必須確保你的財產的ErrorMessage是設置好的或者 - 如果你使用像RESX文件的外部資源 - 你ErrorMessageResourceType & ErrorMessageResourceNameLink