私は「本によって」ASP.NETアプリケーションを開発しようとしています。WebフォームにMVPパターンを実装させています。プレゼンターは、サービスレイヤーとのみ通信します。サービスレイヤーは、すべてが独自のEFObjectContextを共有する多数のリポジトリと通信します。ここまでは順調ですね。今、私はフロントエンドに取り組んでおり、ジレンマがあります...
txtDateOfBirthという名前のasp:TextBoxコントロールがあり、送信ボタンがあるとします。ユーザーがボタンをクリックすると、ASPXからプレゼンター、サービス、...にデータを送信する必要がありますが、問題は、最終的に文字列は必要ないが、DateTimeは必要ないということです。変換を行うのに最適な場所がわかりません:
- バリデーターをASPXページに配置してから、コードビハインドに変換する必要がありますか?
- または、フォームから一連の文字列を収集し、文字列のみを含むサービスのリクエストを作成して、ビジネスモデルに試行/変換してエラーを報告させる必要がありますか?
おすすめは何ですか?どんな洞察も大歓迎です...
編集: OK、あなたの提案をすべて読んで試した後、私は次のことをすることにしました:
- コードビハインドとAPSXは、データ型の変換を担当します。単純なCompareValidatorを使用して適切なタイプを確認し、コードビハインドで確実に変換できるようにすることにしました。
- プレゼンターからサービスレイヤーに送信されるリクエストは適切に入力されます。
- 他のすべての検証はビジネスレイヤーによって実行されています(文字列の長さ、必須かどうか、範囲などを含む)