我有一個包含值類型的模型(例如bool
,DateTime
,枚舉等),我用[Required]
屬性標記了屬性。ASP.NET MVC - 值類型的服務器端驗證
我加載頁面,不提供任何值,並提交表單。客戶端驗證已關閉。顯然ModelState
是無效的。
但是,當表單返回給客戶端時,這些字段將填充該類型的默認值(例如,false
,DateTime.MinValue
,第一個枚舉值等)。這不是我想要的,我希望這些字段保持空白。
目前我正在通過將屬性設置爲空(例如bool?
)來解決此問題。這是「正確」的事情嗎?或者我應該做其他事情以確保MVC不會自動使用默認值填充值類型屬性?
或者我可能會被告知我應該使用只有字符串的View Model類...?不幸的是,這有點晚了,部分原因是由於要求,部分原因是我缺乏經驗。直到下一個項目,我都會保存下來! –
我會堅持可空選項。這是我想做的事情,除了可能不使用MVC客戶端驗證並創建我自己的驗證外,我找不到更簡單的解決方案。儘管這似乎太多了。 – dreza