2014-07-23 30 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