最近、MVC 4/エンティティ プロジェクトの既存のモデルに、監査目的でいくつかのフィールドを追加しました。これらのフィールドを編集ページに表示する必要はありません。ただし、これらはモデルの必須フィールドです。
現状では、編集ページは引き続き機能しますが、コントローラー側では、アイテムに実際に設定されている必須フィールドがビューに出力されず、編集ページが表示されたときに再送信されないため、ModelState.IsValid チェックが失敗します。提出した。
これを修正する簡単な組み込みの方法はありますか、そうでない場合、このシナリオのベストプラクティスは次のうちどれですか? さらにオプションはありますか?
1) 情報を保持するために、ビューに非表示のフィールドを設定します (このオプションのファンではありません。データを渡しすぎます)。
2) コントローラーで、送信時に、最初にモデルを ID でロードし、ビューに存在するフィールドに基づいて個々のパラメーターを設定します (余分な不要な作業のようです)
3) それ自体をパラメーターとして受け取り、デフォルト以外の値を取得して新しいオブジェクトを返すモデルのコンストラクターを作成します。基本的に合流。(私が思うに最善だと思いますが、まだ余分な作業がたくさんあります)
4) ???