DataSet
複数のテーブルを表示するために、データベースからさまざまなテーブルを に読み込む Windows フォーム アプリケーションを作成していますDataGridViews
。すべてのコードをコード ビハインド ファイルに入れるのではなく、さまざまなデザイン パターンの調査を開始し、MVP が最適なオプションであるというコンセンサスを持つ多くの記事/スレッドを見つけましたWinForms
。
いくつかのチュートリアルを行った後、MVP パターンを使用してコードを整理し始めました。モデルとなるものに DataSet を配置し、ほとんどのロジックをプレゼンターに配置し、その他すべてをビューに配置しました。
私の質問は、ユーザー入力の検証をどこに配置すればよいですか? ユーザーが s に無効な値を入力できるようにしたくありません。入力したDataGridView
場合は、エラーのある行/セルを知らせたいと思います。以前は、RowValidating イベントを処理し、DataGridView の行とセルにエラーがないかチェックして、それに応じてメッセージを表示していましたが、これは MVP パターンに適合しないようです。
検証をビューに残すべきですか、それとも別の場所に移動する必要がありますか?