ASP.NET內建的RequiredFieldValidator無法使用於驗證CheckBox或CheckBoxList是否有選取,利用CustomValidator的自訂ClientValidationFunction方法,搭配jQuery就可以解決這個問題。
ASP.NET內建的RequiredFieldValidator無法使用於驗證CheckBox或CheckBoxList是否有選取,利用CustomValidator的自訂ClientValidationFunction方法,搭配jQuery就可以解決這個問題,作法如下:
-
在Aspx檔案中引用jquery,並撰寫JavaScript使用each方法檢查網頁中所有checkbox的checked屬性,其中方法的簽名碼必須包含兩個參數,且第二個參數必須為args。
-
從工具箱拉一個CustomValidator控制項,並設定ClientValidationFunction為上述步驟的Javascipt名稱。
- 習慣上我會再拉一個ValidationSummary來統一顯示錯誤訊息。
如此一來,就可以達到驗證Checkbox或CheckboxList,並且將錯誤訊息統一由ValidationSummary處理。
好處:與自行撰寫JavaScript或Server端驗證比較,此方法可以與ValidationSummary整合,達到一致性的錯誤顯示方式。
待改善:jQuery中選取checkbox的作法仍有改善之處。
參考資料: