私はクリーンな iOS アーキテクチャ VIPER に関する多くの記事を読み、主な目的である関心の分離を理解しています。
現在、プロジェクトに使用しています。モジュールがあり、それぞれビュー、インタラクター、プレゼンター、エンティティ、およびルーター (ストーリーボード付き) で分割されています。
モジュールがあります: Address とサブモジュール Add アドレス ページの追加。
したがって、UIViewController によって実装されたプロトコル ビューがあります。ビュー コントローラは、すべての弱い IBOutlet ラベルとテキスト フィールドを保持します (新しいアドレス フォーム用)。
住所フォームには、次のようないくつかのフィールドが含まれています。
- 人の名字
- 郵便番号
- 国
- 州
- 電話
- Eメール
- 等...
私の場合、プレゼンターは、API 呼び出しを実行するインタラクターにユーザー インタラクションを依存するだけです。
しかし、API 呼び出しを実行する前に、無駄なネットワーク リソースの消費を避けるためにフォームを事前検証したいと考えています。
たとえば、次のことを確認する必要があります。
- 空の場合はフィールドが必須であることをビューに伝えます...
- 電子メールの形式を変更し、フィールドが無効であることをビューに伝えます...
私の質問は、フォーム検証コードをどこに置くことができますか?
その役割を担うべき VIPER コンポーネントはどれですか?
前もって感謝します!