リンクテキストからMVC検証ライブラリを使用しています。このライブラリを選択したのは、MSEnterpriseライブラリ検証ブロックを使用してすべての検証属性を生成する.NetTiersも使用しているためです。
モデルバインディングがオブジェクトを自動的に検証し、検証の概要を入力することを除いて、正常に機能します。私はこれを通常の行動で信じています。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register([Bind()]NetTiersObject obj)
{
return View();
}
検証ライブラリには、次のように文書化されているメソッドもあります。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register([Bind()]NetTiersObject obj)
{
try
{
obj.Validate<NetTiersObject>();
}
catch (EntityValidationException ex)
{
ViewData.ModelState.PopulateWithErrors(ex);
}
return View();
}
これも問題なく動作します。
私の問題は、検証ライブラリのメソッドを使用すると、エラーメッセージが重複することです。モデルバインディングを使用するだけの場合、エラーメッセージは奇妙に見えます。エラーには、メッセージにプロパティ名が含まれています。
したがって、モデルバインディングのエラーメッセージをフォーマットするか、モデルバインディングを完全に無効にする必要があると思います。
何かお勧め、助けて?
ありがとう。