CustomValidator的使用方法

CustomValidator 是一个提供灵活验证方式的控件,它也能在客户端和服务器端验证,分别提供了两种验证的方法原型:
服务器端验证:

void ServerValidation (object source, ServerValidateEventArgs args)

客户端验证(js):

function ValidationFunctionName(source, arguments)

无论对于客户端验证还是服务器端验证,设置通过验证的办法就是将第二个参数的IsValid属性设置为true即可,反之设置为false。

通过一个例子说明使用方法,验证文本框输入的内容是否为"abcd",如果是,验证通过,否则验证不通过

前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" 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></title>
    <script language="javascript" type="text/javascript">
    function Check(source,args)
    {
        //alert(source);source=CustomValidator1,为验证控件
        //alert(args);
        var obj=document.getElementById("TextBox1");
        if(obj.value=="abcd")
        {
            args.IsValid = true;
        }
        else {
            args.IsValid=false;
        }
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:CustomValidator ID="CustomValidator1" runat="server" 
        ControlToValidate="TextBox1" ErrorMessage="CustomValidator" 
        ValidateEmptyText="True" ClientValidationFunction="Check"></asp:CustomValidator>
    </div>
    </form>
</body>
</html>
如果是输入的"abcd",那么输出到页面上
后台代码:

using System;using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write(this.TextBox1.Text);
    }
}

posted @ 2013-01-04 17:06  开发人员的生涯  阅读(171)  评论(0编辑  收藏  举报