验证失败时如何检查EntityValidationErrors?

时间:2013-06-10 09:42:30

标签: c# asp.net asp.net-mvc entity-framework asp.net-mvc-5

当我尝试在MVC 4数据库第一个项目中编辑属性时,我收到此消息。我正在使用MVC默认编辑页面。

  

“一个或多个实体的验证失败。有关详细信息,请参阅”EntityValidationErrors“属性。”

我在哪里检查验证?

2 个答案:

答案 0 :(得分:9)

转到您的编辑功能,设置一个try-catch块并捕获异常 - “DbEntityValidationException

如果您想查看错误,请迭代验证错误。

这是一个简单的代码示例。

catch (DbEntityValidationException ex)
{
    foreach (var errors in ex.EntityValidationErrors)
    {
        foreach (var validationError in errors.ValidationErrors)
        {
             // get the error message 
            string errorMessage = validationError.ErrorMessage;
        }
    }
}

答案 1 :(得分:2)

如果在控制器中设置断点,则可以通过查看ModelState来检查哪些值有错误。 ModelState.Values集合包含错误,键是字段。