Improve company productivity with a Business Account.Sign Up

x
?
Solved

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

Posted on 2009-03-30
4
Medium Priority
?
541 Views
Last Modified: 2013-11-07
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
Comment
Question by:Rajar Ahmed
  • 2
  • 2
4 Comments
 
LVL 16

Expert Comment

by:sunithnair
ID: 24017731
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
 
LVL 18

Author Comment

by:Rajar Ahmed
ID: 24017972
server side is fine ,,.. but clientside i get message of 'Please select atleast one value' even if checkbox is selected...
 
0
 
LVL 16

Accepted Solution

by:
sunithnair earned 2000 total points
ID: 24018031
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
 
LVL 18

Author Closing Comment

by:Rajar Ahmed
ID: 31564273
Thanks Mate...
0

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
There is a wide range of advantages associated with the use of ASP.NET. This is why this programming framework is used to create excellent enterprise-class websites, technologies, and web applications.
Watch the video to learn how one can deal with PST file corruption issue with an outstanding Kernel for Outlook PST Repair Tool easily. Using this tool, non-technical users can swiftly perform the repair process to restore their essential data witho…
When you have multiple client accounts to manage, it often feels like there aren’t enough hours in the day. With too many applications to juggle, you can’t focus on your clients, much less your growing to-do list. But that doesn’t have to be the cas…

587 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question