谁有做地验证CheckBoxList的CustomerValidator,最好是通用的
如果有代码的话立刻给分
private void cvaTelNumberFormat_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
{
if(isTelNumber(this.txtTelNumber.Text.ToString().Trim()))
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
这是服务器端验证
function ValidateInfoOriginLength(source, args)
{
if((Trim(document.getElementById(source.controltovalidate).value) != '')
&& (IsLength(Trim(document.getElementById(source.controltovalidate).value), 120)) )
{ args.IsValid = true;}
else
{ args.IsValid = false;}
}
客户端验证
自己搞定,只好做到usercontrol里了
if (!Page.IsClientScriptBlockRegistered("CheckBoxInput_Check"))
{
string script = @"
<script language='javascript'><!--
function CheckBoxInput_Check(checkboxName, itemCount)
{
var hasChecked = false;
for (i = 0 ; i < itemCount ; i ++)
{
if (document.all[checkboxName + ':' + i].checked == true)
{
hasChecked = true;
break;
}
}
return hasChecked;
}
//--></script>
";
Page.RegisterClientScriptBlock("CheckBoxInput_Check" , script);
}
this.CusCheckBox.ClientValidationFunction = "CheckBoxInput_" + this.ClientID;
if (!Page.IsClientScriptBlockRegistered("CheckBoxInput_Check_" + this.ClientID))
{
string customerScript = @"
<script language='javascript'><!--
function CheckBoxInput_" + this.ClientID + @"(source, arguments)
{
var checkboxName = '" + this.CheckBox.UniqueID + @"';
var itemCount = " + this.CheckBox.Items.Count + @";
arguments.IsValid = CheckBoxInput_Check(checkboxName , itemCount);
}
//--></script>
";
Page.RegisterClientScriptBlock("CheckBoxInput_Check_" + this.ClientID , customerScript);
}
}
/// <summary>
/// 服务器验证。
/// </summary>
/// <param name="source"></param>
/// <param name="args"></param>
private void CusCheckBox_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
{
for (int i = 0 ; i < this.CheckBox.Items.Count ; i ++)
{
if (this.CheckBox.Items[i].Selected)
{
args.IsValid = true;
return;
}
}
args.IsValid = false;
}