0

エラーが現在のリクエストのモデルの検証とは何の関係もないにもかかわらず、 ModelState.AddModelError()エラー メッセージを に追加するために「悪用」する開発者を見てきました。ModelState

私の見解では、代わりに、リダイレクトは完全に別個の「エラー」アクションとビューを実行して、エラー メッセージを表示する必要があります。その場合、提示方法と同様に提示される専用の ErrorModel があり@Html.ValidationSummaryます。

これは疑問につながります:他の人が使用する慣用的な「ErrorModel」構造、および/またはこのモデルを取り、ValidationSummary によって提供されるプレゼンテーションをいくらか模倣する一般的なライブラリ/関数はありますか?

独自の ErrorModel および ValidationSummary コードを作成できます (MVC ソース コードをコピーすることもできます) が、ライブラリを使用するか、この状況で他の人が使用するパターンに従うことを好みます。

4

1 に答える 1

1

この目的で ValidationSummary を使用しても問題ありません。これが理由です。

4 つのバージョンがあり、そのうち 2 つが重要です。

Html.ValidationSummary()
Html.ValidationSummary(bool)

2 つ目は、プロパティ エラーではなく、モデル エラーのみを表示することを目的としています。これは、「ジョーは月曜日に予約をすることができない」などのビジネス ロジックの検証を意味します。最初のものは、モデル エラーとプロパティ エラーの両方を表示するためのものです。

これは、Pro ASP.NET MVC3 Framework からの説明です。

ValidationSummary ヘルパー メソッドのオーバーロードの一部を使用すると、モデル レベルのエラーのみを表示するように指定できます。これまでに ModelState に登録したエラーはプロパティ レベルのエラーでした。これは、特定のプロパティに指定された値に問題があり、その値を変更することで問題を解決できることを意味します。対照的に、モデル レベルのエラーは、2 つ以上のプロパティ値間の相互作用から何らかの問題が発生した場合に使用できます。

基本的に私はこう言いたいです:あなたは元気です、気にしないでください。もちろん、特別な理由がない限り。

于 2012-05-17T00:41:37.000 に答える