اگه از checkboxlist استفاده ميكني:
<script language="javascript" type="text/javascript">
function ValidateChkList(source, arguments)
{
arguments.IsValid = IsCheckBoxChecked() ? true : false;
}
function IsCheckBoxChecked()
{
var isChecked = false;
var list =document.getElementById('<%= CheckBoxList1.ClientID %>');
if(list != null)
{
for (var i=0; i<list.rows.length; i++)
{
for (var j=0; j<list.rows[i].cells.length; j++)
{
var listControl = list.rows[i].cells[j].childNodes[0];
if(listControl.checked)
{
isChecked = true;
}
}
}
}
return isChecked;
}
</script>
<div>
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
<asp:ListItem Text="First" ></asp:ListItem>
<asp:ListItem Text="Second"></asp:ListItem>
</asp:CheckBoxList>
<asp:CustomValidator ID="CustomValidator1" ClientValidationFunction="ValidateChkList"
runat="server" >Required.</asp:CustomValidator>
</div>
<div>
<asp:Button ID="Button2" runat="server" Text="Button2" OnClick="Button2_Click" />
</div>
اگر هم حتماً ميخواهي checkbox باشه از اين مثال ايده بگير:
<%@ Page language="C#" Codebehind="ValidateCheckbox.aspx.cs"
AutoEventWireup="false" Inherits="WebApplication1.ValidateCheckbox" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<script language="javascript">
function ValidateChecked(oSrc, args){
if(document.all["<%=chk.ClientID%>"].checked == false){
alert("Has to be checked.");
args.IsValid = false;
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<asp:CustomValidator ClientValidationFunction="ValidateChecked"
Runat="server" ID="val"/>
<asp:CheckBox ID="chk" Runat="server" />
<asp:Button ID="btn" Runat="server" Text="Submit" />
</form>
</body>
</HTML>
منابع:
http://forums.asp.net/t/1311985.aspx
http://www.velocityreviews.com/forum...-checkbox.html