0

ページにチェックボックスのグループがあります (これは臨床無作為対照試験のスクリーニングログ用ですが、原則は次の一連のチェックボックスがあるものすべてに適用できます。

  • ステップ 1 を完了したことを証明します (この場合、すべての選択基準が存在します)
  • ステップ 2 を完了したことを証明します (この場合、すべての除外基準がありません)
  • ...等々

各ステップは順番にチェックする必要があります。各チェックボックスを順番に有効にするロジックを書くことができます。ロジックは、 Foolproof validationの RequiredIfTrue のような検証属性に似ているように思われるため、モデル プロパティの属性として属します (EnabledIfTrueAttribute など)。ただし、これは実際にはブラウザでの情報の表示に関連するロジックでもあり、したがってビューに属します。

MVC アーキテクチャをより明確に理解している人が、どのように設計する必要があるか、またその理由について教えてください。どうもありがとうございました。

4

1 に答える 1

1

MVC の目的は、データ、ビュー、およびそれらをバインドするロジックを分離することです。

検証属性は、コントローラーに送信されるデータを検証するために使用されます。データの収集方法は、提出自体とは無関係です。

ビューは、データの表示方法または収集方法を決定します。

他のビューが他の形式でオプションを表示することを決定する可能性を想像してみてください (ユーザーがプロセスを「どこまで」進めたかを表示するドロップダウン リストなど)。

したがって、あなたの場合...

検証属性を使用して、オプション 3 が選択されていない場合はオプション 4 が選択されていないことを確認し、その場合は送信を拒否できます。

ユーザーがモデル内のオプションを選択する方法と、コントロールの有効化/無効化はビュー ロジックに属します。

于 2013-05-26T22:51:09.500 に答える