使用CustomValidator搭配jQuery進行CheckBoxList的Required驗證

ASP.NET內建的RequiredFieldValidator無法使用於驗證CheckBox或CheckBoxList是否有選取,利用CustomValidator的自訂ClientValidationFunction方法,搭配jQuery就可以解決這個問題。

ASP.NET內建的RequiredFieldValidator無法使用於驗證CheckBox或CheckBoxList是否有選取,利用CustomValidator的自訂ClientValidationFunction方法,搭配jQuery就可以解決這個問題,作法如下:

  1. 在Aspx檔案中引用jquery,並撰寫JavaScript使用each方法檢查網頁中所有checkbox的checked屬性,其中方法的簽名碼必須包含兩個參數,且第二個參數必須為args
    		
    		
    		
  2. 從工具箱拉一個CustomValidator控制項,並設定ClientValidationFunction為上述步驟的Javascipt名稱。
    		
  3. 習慣上我會再拉一個ValidationSummary來統一顯示錯誤訊息。
 

如此一來,就可以達到驗證Checkbox或CheckboxList,並且將錯誤訊息統一由ValidationSummary處理。
好處:與自行撰寫JavaScript或Server端驗證比較,此方法可以與ValidationSummary整合,達到一致性的錯誤顯示方式。

待改善:jQuery中選取checkbox的作法仍有改善之處。

參考資料: