CustomValidator ASP.NET验证控件

CustomValidator控件允许您用自定义的验证逻辑创建验证控件。例如,可以创建一个验证控件,该控件检查在文本框中输入的值是否为偶数。创建该控件的标准代码如下所示:

<ASP:CustomValidator id="Validator_ID" RunAt="Server"

controlToValidate="要验证的控件的ID"

onServerValidateFunction="验证函数"

errorMessage="错误信息"

Display="Static|Dymatic|None">

</ASP: CustomValidator>

该控件具有基类BaseValidator的属性,除了这些属性外还有一个该控件所特有的属性和事件,如表6-21所示。

表6-21 CustomValidator控件属性和事件

名称
说明

ClientValidationFunction属性
获取或设置用于验证的自定义客户端脚本函数的名称

ServerValidate
在服务器上执行验证时发生


在该控件上若要创建服务器端验证函数,请为执行验证的ServerValidate事件提供处理程序。通过将ServerValidateEventArgs对象的Value属性作为参数传递到事件处理程序,可以访问来自要验证的输入控件的字符串。验证结果随后将存储在ServerValidateEventArgs对象的IsValid属性中。

如果要创建一个客户端验证函数,首先添加先前描述的服务器端验证函数。然后,将客户端验证脚本函数添加到.aspx页中。使用脚本创建函数格式如下所示:

Function ValidationFunctionName (source, arguments)

使用ClientValidationFunction属性指定与CustomValidator控件相关联的客户端验证脚本函数的名称。由于脚本函数在客户端执行,该函数必须使用目标浏览器所支持的语言。与服务器端验证类似,使用arguments参数的Value属性访问要验证的值。通过设置arguments参数的IsValid属性来返回验证结果。

下面创建一个范例,具体说明自定义验证CustomValidator控件的用法,该范例主要是验证用户输入的数字是否为偶数。该范例的具体开发步骤如下所示:

(1)新建一个网站,在ASP.NET页面上创建一个标示“请输入偶数:”,在该标示的后面,添加一个TextBox控件。

(2)然后再添加一个CustomValidator控件,在该控件的【属性】窗口设置其ErrorMessage值为“请输入偶数”、ControlToValidate值为TextBox1。下面为其编辑以客户端验证函数,具体代码如下所示:

<script language="javascript">

function ClientFunction(source,arguments)

{

if(arguments.Value%2==0)

{

arguments.IsValid=true;

}

else

{

arguments.IsValid=false;

}

}

</script>



(3)编写完函数之后,在ControlToValidate控件属性窗口为ClientValidationFunction属性赋值为该函数的名称,然后在页面上添加一个Label标签控件,并在属性窗口设置其Text值为空值,然后在该页面上添加一个Button按钮控件,并设置其Text值为“提交”。至此页面就成功的设计完成了,该页面主要页面代码如下所示:

请输入偶数:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<asp:CustomValidator ID="CustomValidator1" runat="server"

ErrorMessage="请输入偶数"

onservervalidate="CustomValidator1_ServerValidate"

ControlToValidate="TextBox1"

ClientValidationFunction="ClientFunction"></asp:CustomValidator><br />

<asp:Label ID="Label1" runat="server"></asp:Label>

<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />



(4)接下来为该控件,处理验证处理程序,在CustomValidator的【事件】窗口,双击ServerValidate事件,进入后台代码编写窗口,在此编写如下代码:

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)

{

int i = Convert.ToInt32(args.Value);

if (i % 2 == 0)

{

args.IsValid = true;

}

else

{

args.IsValid = false;

}

}


(5)接下来为按钮【提交】,编写单击事件处理程序,在设计视图双击该按钮,进入后台代码编写窗口,具体代码如下所示:

protected void Button1_Click(object sender, EventArgs e)

{

if (Page.IsValid)

{

this.Label1.Text = "你输入的是偶数:" + TextBox1.Text;

}

}


原文连接:http://www.cnblogs.com/dongjielanyu/archive/2008/05/23/1205645.html
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值