質問

Model-View-Presenterパターンでは、ユーザー入力の検証を記述する必要があります。

役に立ちましたか?

解決

ドメイン固有のルール/検証はモデル内にある必要があります。 model.validate()を使用して、ルールに違反していないかどうかを通知できます。この概念の適切な実装については、Railsモデル(ActiveRecord)クラスをご覧ください。

ビューは、ユーザーが無効な入力を入力することを困難にする必要があります。したがって、プレゼンターに到達する前に、入力エラーの「数値の文字列を入力する」クラスを削除する必要があります。 モデルとビューの間に検証の重複があるかもしれません。例えば。 AttributeXの範囲は1〜100でなければなりません。これはモデルで検証する必要があります。同時に、minValueとmaxValueの範囲を1〜100に設定して、UIのスピナーにスロットを挿入することもできます。

他のヒント

通常、ビューは完全にきれいに保ち、そこにはロジックはありません。しかし、私は多くのウェブ開発をしていません。 Ajaxのような状況では、ビューに移動する必要があるクライアント側の検証が必要になる場合があります。

ビジネスロジックの検証はモデルに組み込まれます。ビジネスロジックの検証では、最小注文サイズの確認などを意味します。

入力検証はプレゼンターで行われます。これは、数値フィールドに数字以外の文字が含まれていないかどうかをチェックするようなものです。ただし、状況によっては、これはファイルが存在するかどうかなどをチェックすることも意味します。

検証をさまざまな場所で再利用できるようにする必要があるより複雑なケースでは、通常、さまざまな場所で呼び出すことができる検証エンジンに分けます。これにより、プレゼンテーション層や永続層などで使用される検証コードの複製に関するいくつかの問題が解決されます。

プレゼンター....

ビューには「ウィジェット」が必要です。無効な入力を可能な限り防止します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top