首页 > 代码库 > [转].net自定义验证控件CustomValidator的使用

[转].net自定义验证控件CustomValidator的使用

本文转自:http://tech.cncms.com/web/aspnet/96310.html

 

CustomValidator验证控件,可以自定义验证函数,实现其它几个验证控件不能实现的验证规则,最简单的应用如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CustomValidatorDemo.aspx.cs" Inherits="CustomValidatorDemo" %><!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>自定义验证控件的使用</title>    <script type="text/javascript">     function IsEven(source, args)    {        if (args.Value % 2 == 0 )        {            arg.IsValid = true;        }         else         {            args.IsValid = false;        }    }    </script></head><body>    <form id="form1" runat="server">    <div>        偶数:<asp:TextBox ID="txtEven" runat="server"></asp:TextBox>        <asp:CustomValidator ID="valgEven" runat="server" ControlToValidate="txtEven" ErrorMessage="所输数据不是偶数"            ClientValidationFunction="IsEven">*</asp:CustomValidator>        <br />        <asp:ValidationSummary ID="valsErrorMessage" runat="server" />        <asp:Button ID="btnSubmit" runat="server" Text="提交" />    </div>    </form></body></html>

1、函数名由 ClientValidationFunction="IsEven"指定,函数形参名字可以自己决定,比方有些实例把args写成arguments,也是可以的;

2、形参args主要有两个属性args.Value和arg.IsValid,这两个属性要注意大小写

3、自定义验证控件可触发onservervalidate事件,在服务器端也可以编写验证代码,但,如果这样做,就有点失去了验证控件在客户端实现验证的意义了。