【发布时间】:2013-10-09 01:43:24
【问题描述】:
我已经设置了一些用于实体框架的 POCO 模型类。我在DbContext 的ValidateEntity 覆盖中做了一些验证。我从ValidateEntity 函数返回一个DbEntityValidationResult,我可以看到在运行时我确实添加了一些DbValidationErrors。我什至可以在我的Controller 函数内部的ModelState 中看到这些错误,使用以下代码...
catch (DbEntityValidationException ex)
{
foreach (var entity in ex.EntityValidationErrors)
{
foreach (var error in entity.ValidationErrors)
{
ModelState.AddModelError(error.PropertyName, error.ErrorMessage);
}
}
}
但由于某种原因,这些错误不会在 Razor 视图中显示为所需的属性名称。我使用的视图模型如下所示...
public class CharacterCreateModel
{
private Character m_character;
#region Properties
public Character Character
{
get
{
return m_character;
}
set
{
m_character = value;
}
}
#endregion
}
在我的 Razor 视图中,使用这种 CharacterCreateModel 视图模式强类型化,我只使用标准的 @Html.TextBoxFor 等。
来自Character 模型的验证错误正确显示,但来自ValidateEntity 函数的验证错误未针对该属性名称显示。
知道为什么不?
【问题讨论】:
-
发布您的查看页面!
标签: asp.net asp.net-mvc entity-framework razor