値の型(たとえばbool
、DateTime
、列挙型など)を含むモデルがあり、[Required]
属性のプロパティをマークしました。ASP.NET MVC - 値の型のサーバー側の検証
私はページを読み込み、何かに値を与えずにフォームを送信します。クライアント側の検証はオフになっています。明らかにModelState
は無効です。
ただし、フォームがクライアントに返されると、これらのフィールドにはタイプのデフォルト値が入力されます(false
,DateTime.MinValue
、最初の列挙値など)。これは本当に私が欲しいものではありません、私はフィールドが空のままにしたい。
現在、プロパティをnullにできるようにすることで、これを実現しています(例:bool?
)。これは "正しい"ことですか? MVCが値型のプロパティにデフォルト値を自動的に設定しないようにするために何か他のことを行う必要がありますか?
または、私は、文字列のみを持つView Modelクラスを使用する必要があると言われるでしょうか?残念ながら、それは少し遅れています。部分的には要件が原因で、部分的に私の経験不足が原因です。私は次のプロジェクトまでそれを保存します! –
私はnull可能なオプションに固執します。これは私がやりたかったことであり、おそらくMVCクライアントサイド検証を使用せず、自分で作成することを除いて、より簡単な解決策を見つけることができませんでした。しかしそれはあまりにも多くの仕事のように思えた。 – dreza