Entity Framework で使用するためにセットアップした POCO モデル クラスがいくつかあります。DbContext
のValidateEntity
オーバーライドでいくつかの検証を行います。DbEntityValidationResult
関数からa を返すと、ValidateEntity
実行時にいくつかDbValidationError
の s を追加していることがわかります。次のコードを使用して、関数のModelState
内部でこれらのエラーを確認することもできます...Controller
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
}
そして、このCharacterCreateModel
ビュー モードを使用して強く型付けされた Razor ビューでは、標準@Html.TextBoxFor
などを使用します。
モデルからの検証エラーはCharacter
正しく表示されますが、ValidateEntity
関数からの検証エラーはそのプロパティ名に対して表示されません。
理由はありますか?