C# 错误由空字符串组成

C# 错误由空字符串组成,c#,asp.net-mvc,validation,C#,Asp.net Mvc,Validation,我正在编写一个带有表单的MVC应用程序,表单上有验证 当我询问这些错误时,像这样: foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { Debug.WriteLine(error.ErrorMessage); } } error.ErrorMessage中返回的错误消息为空字符串(

我正在编写一个带有表单的MVC应用程序,表单上有验证

当我询问这些错误时,像这样:

foreach (ModelState modelState in ViewData.ModelState.Values)
{
    foreach (ModelError error in modelState.Errors)
    {
        Debug.WriteLine(error.ErrorMessage);
    }
}
error.ErrorMessage中返回的错误消息为空字符串(“”)。我可以很容易地编写一点代码来验证错误消息是否都是像这样的空字符串,但这是一种攻击

有人知道为什么会这样吗?上下文是一个带有一些下拉列表的表单。如果我从其中一个下拉输入中选择一个项目,则返回错误,但如果这些下拉列表保持其默认状态,则验证正常


非常感谢,S

如果您想验证模型,必须使用数据注释属性,如[必需],是否使用这些注释


然后,您必须确保设置了属性ErrorMessage,或者-如果您使用诸如resx文件之类的外部资源-您的ErrorMessageResourceType&ErrorMessageResourceName

如何设置验证?它是模型中属性上的属性吗?检查成员属性并验证ErrorMessage属性集是否存在验证属性。向我们展示您提供了
ErrorMessage