Tuesday, April 30, 2013

Validate checkboxlist inside grid

hidden feild :
  <asp:HiddenField runat="server" ID="SelectedCheckboxes" Value="0" />

 function updateSelectedCheckboxes(obj) {
                                         
                                            selectedCheckboxes = document.getElementById('<%= SelectedCheckboxes.ClientID %>').value;
                                            var listItems = obj.getElementsByTagName("input");
                                            var itemcount = listItems.length;
                                            var iCount = 0;
                                            var i = 0;
                                            var isItemSelected = false;
                                            for (iCount = 0; iCount < itemcount; iCount++) {
                                                if (listItems[iCount].checked) {
                                                    isItemSelected = true;
                                                    selectedCheckboxes++;
                                                    i++;
                                                    break;
                                                }
                                            }
                                            if (i == 0) {
                                                selectedCheckboxes = 0;
                                            }
//                                            if (!isItemSelected) {
//                                                alert("Please select an Item.");
//                                            }
//                                            else {
//                                                return true;
//                                            }
//                                            return false;

//                                          
//                                                selectedCheckboxes--;

                                            document.getElementById('<%= SelectedCheckboxes.ClientID %>').value = selectedCheckboxes;
                                        }



   function validate(sender, arguments) {
                               
                                    selectedCheckboxes = document.getElementById('<%= SelectedCheckboxes.ClientID %>').value;

                                    arguments.IsValid = selectedCheckboxes > 0 ;
                                }

Add custom validator : 


  <asp:CustomValidator ID="CustomValidator5" runat="server" ClientValidationFunction="validate"
                                            ErrorMessage="Please select at least one Location" ValidationGroup="FilterLocation"  Display="None"/>
                                 
Onclick on checkboxlist:

<asp:CheckBoxList onclick="updateSelectedCheckboxes(this);" >