CustomValidator验证控件使用

CustomValidator验证控件使用

CustomValidator控件允许用户自定义验证,可以在服务器端验证,可以在客户端验证,也可以在客户端和服务端同时验证

下面的例子是验证一个数能否被2整除

1.      服务器端验证
在验证的时候会用到IsValid这个属性,根据IsValid的值(true/false)来判断是否通过页面验证。

a.       拖放控件TextBox用于输入值;Button用于测试验证状态,IsValidtrue触发Click事件;CustomValidator控制要验证的对象和验证事件等。

b.      设置CustomValidator的属性这里设置ErrorMessageNot an even number!,ControlToValidateText1

c.       编写CustomValidatorServerValidation事件

   

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {

         try
        {
            int num = int.Parse(args.Value);           
            args.IsValid = ((num%2)==0);
        }
        catch (Exception ex)
        {
            args.IsValid = false;
        }
    }

 

d.      编写ButtonClick事件

    protected void Button2_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            Response.Redirect("gouWuChe.aspx");
        }
        else
        {
            //提示
        }

    }

2.      客户端验证

使用javascript function验证,并用设置ClientValidationFunctionjavascript 验证函数(function)

a.       Javascript 函数

    <script language="javascript">

    function ValidateNumber(source,args)

    {

        if(args.Value%2==0)

        {

            args.IsValid=true;

        }

       else

        {

            args.IsValid=false;

        }

    }

    </script>

b.      设置CustomValidator的属性这里设置ErrorMessage为请输入能被2整除的数,ControlToValidateTextBox1, ClientValidationFunctionValidateNumber

c.       编写ButtonClick事件 

    protected void Button2_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            Response.Redirect("gouWuChe.aspx");
        }
        else
        {
            //提示
        }

    }

3.      客户端和服务端同时验证

将上面的两部分代码合并可以了

posted @ 2010-08-27 10:51  超越自我~_~!!  阅读(3806)  评论(0编辑  收藏  举报