使用MVC2,我有一個簡單的ViewModel,它包含一個在視圖上呈現爲複選框的布爾字段。我想驗證用戶是否選中了該框。我的ViewModel上的[必需]屬性似乎沒有辦法。我相信這是因爲未經檢查的複選框表單字段在POST期間並未實際傳回,因此驗證不會在其上運行。你將如何驗證ASP.Net MVC 2中的複選框?
有沒有一種標準的方式來處理MVC2中的複選框「必需」驗證?還是我必須爲它編寫一個自定義驗證器?由於上述原因,我懷疑自定義驗證器不會被執行。我堅持在我的控制器中明確檢查它嗎?這似乎凌亂...
任何指導將不勝感激。
斯科特
編輯CLARITY:如下面的評論中指出,這是一個「同意我們的條款」複選框類型,因此「未選中」是一個有效的答案,所以我真的很爲「被檢查」驗證。
這是一個「我接受許可協議的條款」類型的複選框嗎? [Required]屬性不起作用,因爲未選中的複選框是有效值(false)。 – 2010-05-04 16:21:32
是的,就是這樣,如果他們沒有檢查它,我們只是重新顯示相同的視圖,並帶有驗證信息,您必須接受這些條款才能繼續。不過,我明白你對虛假「有效」的觀點。 – 2010-05-05 00:18:15
這裏的答案有一個很好的方式來處理客戶端驗證器:[http://stackoverflow.com/questions/4934032/mvc3-make-checkbox-required-via-jquery-validate](http:// stackoverflow.com/questions/4934032/mvc3-make-checkbox-required-via-jquery-validate) – 2012-08-14 15:30:01