3

モデル ビュー プレゼンター アーキテクチャで UI 検証を行う方法に関するベスト プラクティス アプローチを探しています。

多くのコントロールを含むいくつかのフォームを検証する必要があります。また、ユーザーが簡単に操作できるように、すべてのエラーまたは警告をコントロールへの参照とともにログに保存します。ログは後でユーザーに表示されるため、修正が必要なコントロールにすぐにジャンプできます。これはビュー パーツで行われますが、ビューを交換するためにプレゼンターで検証を行う必要があるため、実際には間違っています。

プレゼンターでこの検証を行う際の問題は、提供された値が間違っているかどうかをチェックするだけでなく、テキストボックスを有効にするラジオボタンがチェックされているかどうかもチェックする必要があることです。

UIの変更を反映しており、プレゼンターに表示されるため、プレゼンターでBindingSourceを使用することを考えていました。しかし、これが正しい方法であるかどうかはわかりません(そして、それはちょっと醜いと思います)?

ところで、検証はデータベースに書き込む前に行われるだけではありません。ユーザーがフォームで作業している間にすでに行われています。

誰かがこれを行う良い方法を考えることができますか?

4

1 に答える 1

2

最終的に解決策を見つけました。異なるバリデータークラス (「ページ」ごとに 1 つ) によって処理されるプレゼンターの DataSet を使用して、期待どおりに実行されます。最も難しいのは、コントロールが相互に依存している場合です (ただし、最終的には、値が DataSet に設定されているかどうかを確認するだけです)。現在、エラーを修正するためにコントロールにジャンプすることはできませんが、これは、コントロールの名前を LogEntries に渡すことによってリフレクションを介して後で追加され、ビューはこのコントロールがどこにあるかを把握できます。

于 2009-06-30T10:41:44.197 に答える