• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 532
  • Last Modified:

How to validate checkboxlist for atleast a single item to be selected..??

I need to validate for atleast a single checkboxlist is to be selected using Javascript not by required field validator..
.and also do the same in server side validation....i binded the checkboxlist..plz sugest

<asp:CheckBoxList ID="CheckBoxList1" runat="server"  RepeatColumns="2">
        </asp:CheckBoxList>&nbsp;

Open in new window

0
Rajar Ahmed
Asked:
Rajar Ahmed
  • 2
  • 2
1 Solution
 
sunithnairCommented:
Try like this
ASPX
 
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">
        function Validate()
        {
            var checkBoxes = document.getElementsByTagName("input");
            var isValid = false;
            for(var i=0;i<checkBoxes.length;i++)
            {
                if(checkBoxes[i].type=="checkbox" && checkBoxes[i].id.indexOf("CheckBoxList1")!=0)
                {
                    isValid = true;
                    break;
                }
            }
            if(!isValid)
            {
                alert("Please select atleast one value");
            }
            return isValid;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:CheckBoxList ID="CheckBoxList1" runat="server"  RepeatColumns="2">
        </asp:CheckBoxList>
        <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClientClick="return Validate();" />
    </form>
</body>
</html>
 
 
CODEBEHIND
 
 
Partial Class Default2
    Inherits System.Web.UI.Page
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        If Not IsPostBack Then
            CheckBoxList1.DataSource = System.IO.Directory.GetFiles("C:\\")
            CheckBoxList1.DataBind()
        End If
    End Sub
 
    Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
        If CheckBoxList1.SelectedIndex = -1 Then
            Response.Write("Nothing is selected")
        End If
 
    End Sub
End Class

Open in new window

0
 
Rajar AhmedConsultantAuthor Commented:
server side is fine ,,.. but clientside i get message of 'Please select atleast one value' even if checkbox is selected...
 
0
 
sunithnairCommented:
Sorry the script should be like this
    <script type="text/javascript">
        function Validate()
        {
            var checkBoxes = document.getElementsByTagName("input");
            var isValid = false;
            for(var i=0;i<checkBoxes.length;i++)
            {
                if(checkBoxes[i].type=="checkbox" && checkBoxes[i].id.indexOf("CheckBoxList1")==0 && checkBoxes[i].checked)
                {
                    isValid = true;
                    break;
                }
            }
            if(!isValid)
            {
                alert("Please select atleast one value");
            }
            return isValid;
        }
    </script>

Open in new window

0
 
Rajar AhmedConsultantAuthor Commented:
Thanks Mate...
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now