1. ホーム
  2. asp.net-mvc-2

[解決済み] [Solved] ModelState.AddModelError - プロパティ用でないエラーを追加するにはどうすればよいですか?

2022-04-23 06:17:54

質問

でデータベースをチェックしています。 Create(FooViewModel fvm){...} を確認するために fvm.prop1fvm.prop2 もしそうなら、modelstateにエラーを追加して、ビュー全体を返したいのです。 試してみました。

public ActionResult Create(FooViewModel fvm){
    if (ThatComboAlreadyExists(fvm)) {
      ModelState.AddModelError("Model", "There is already one like that");
      return View(fvm);
    }
}

...しかし Html.ValidationSummary というのも、これは表示されることを想定しているからです。 私は、"Model" が正しいキーでない疑いがありますが、私はGoogleで何かを見つけることができませんでした。

解決方法は?

結局、私は は、私が探していた使い方、つまり、通常の呼び出しのように、プロパティの1つではなく、モデル一般にエラーを割り当てることです。

ModelState.AddModelError(string key, string errorMessage);

が、キーには空文字列を使用します。

ModelState.AddModelError(string.Empty, "There is something wrong with Foo.");

エラーメッセージは <%: Html.ValidationSummary() %> を、ご想像のとおりです。