由于 RequiredFieldValidator无法直接验证 CheckBoxList 类型控件是否为空值,我们可以在Client端Script来进行验证,代码如下。
<asp:CheckBoxList ID="IssueTypeCheckBox" runat="server" RepeatDirection="Horizontal"> <asp:ListItem Value="1">Hardware</asp:ListItem> <asp:ListItem Value="2">BIOS/Firmware</asp:ListItem> <asp:ListItem Value="3">Software </asp:ListItem> <asp:ListItem Value="4">Mechanical</asp:ListItem> <asp:ListItem Value="5">Manufacturing</asp:ListItem> <asp:ListItem Value="6">Others</asp:ListItem> </asp:CheckBoxList> <asp:customvalidator id="CustomValidator1" runat="server" ErrorMessage="*" ClientValidationFunction="checkIssueType"></asp:customvalidator> <asp:Button runat="server" ID="btn" text="Submit" /> <script language="javascript" type="text/javascript"> function checkIssueType(source,args) { var chkListaTipoModificaciones= document.getElementById ('<%= IssueTypeCheckBox.ClientID %>'); var chkLista= chkListaTipoModificaciones.getElementsByTagName("input"); for(var i=0;i<chkLista.length;i++) { if(chkLista[i].checked) { args.IsValid = true; return; } } args.IsValid = false; } </script>