2011-12-18 12 views
0

許可しますIdは必須ではありません(非表示で、既存のエントリには しか設定されていません)。残念ながら、MVCはRequired属性を設定していなくても、必要に応じてMVCの検証を行います(Ifフィールド が必要です)。は、私はいくつかのプロパティを含むASP.NET MVCビューのモデルを有する非充填フィールド

誰かに解決策がありますか?多分ちょうどIdIntある場合...あなたはそれInt?(NULL可能INT)作ってみることができ、間違った...

敬具、 サシャ

+1

は、我々はあなたのモデルを見ることができ、あなたのglobal.asaxにApplication_Startメソッドに以下を追加しますか? –

答えて

1

を探し、ここに解決策を見つけていません。 nullabeの場合、MVCはそれを検証しません。

別の方法では、デフォルト値を非表示にし、「-1」と言うことができます。コントローラーで確認できます。

+0

nullにすると、チェックされません。 – Sascha

1

デフォルトでは、ASP.Net Mvcは、属性に[Required] attrtibuteを追加しなくても、null不可能なプロパティを「必須」として扱います。あなたのIDがタイプintであれば、それはヌル可能ではないので必要です。 - NULL可能int型、すなわち

    int?にあなたのIDプロパティを変更し
  1. あなたは基本的に2つのオプションがあります。

  2. MVCのデフォルト設定を、必要に応じてnull値を許可しない属性と見なさないように変更します。

オプション1は簡単です。オプション2の場合

DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = true;

関連する問題