1

を使用してコントローラーからモデルエラーを追加しました

if( モデル プロパティが選択されていません) { ModelState.AddModelError("SelectionRequired","Please select atleast one value"); }

このエラーは、同じメソッドの多くの場所に追加していますが、最終的には、ModelState エラー コレクションからそのようなメッセージを 1 つだけユーザーに表示したいと考えています。

そのために、ビューに戻る前に、1 つを除いて同様のメッセージをすべて削除する必要があります。

「少なくとも 1 つの値を選択してください」を使用せずに、 「SelectionRequired」キーを使用してこのメ​​ッセージを削除するにはどうすればよいですか。この「SelectionRequired」はモデル プロパティ名ではなく、単に使用したいキーです。

実行時にModelState.Keysコレクションをチェックしましたが、これらのコレクションには「SelectionRequired」がまったく表示されず、ModelState.Valuesコレクションにも表示されません。では、このキー * "SelectionRequired"はどこに行くのでしょうか? それに基づいてエラーを選択する方法は?

これを行うより良い方法はありますか?

4

1 に答える 1

2

これはうまくいくかもしれません:

var error = ModelState["SelectionRequired"].Errors.First();
ModelState["SelectionRequired"].Errors.Clear();
ModelState["SelectionRequired"].Errors.Add(error);
于 2013-06-18T15:25:15.500 に答える