2

いくつかのサブクラスを持つ複雑なビューモデルがあります。簡単な例として、サブクラスが1つあると仮定します。

そのサブクラスは、部分ビューをレンダリングすることによって表示されます。ユーザーは、インターフェイスでそのビューを切り替えて、すべてを完全に非表示にすることができます。

現在、2つの有効な入力オプションがあります。

  1. ユーザーは部分を非表示にすることを選択し、何も入力しません。すべてを無視する必要があります。
  2. ユーザーは部分を表示することを選択し、今度はそれを入力する必要があります。一部のフィールドは必須ですが、一部は必須ではありません。

これを処理する良い方法はMVC検証ですか?ポストバックは空の値をポストし、サーバー側のロジックはModelState.IsValidがfalseと表示するため、フィールドを必須としてマークできません。これは、フィールドが欠落しているためです。

もちろん、[必須]属性を失い、自分で手動でチェックを行うことはできますが、同じ結果を得るより良い方法はないかと思いました。

4

1 に答える 1

2

これを行う最も簡単な方法は、次のようなものです。ASP.NET MVC 3データ注釈:検証を動的に追加します。

より難しい(少し良い)解決策については、これを読んでください:DataAnnotations"NotRequired"属性

于 2012-11-14T13:23:29.780 に答える