CustomValidator控件简单使用

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

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

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

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

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

c.       编写CustomValidatorServerValidation事件

    Protected Sub ServerValidation(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
        Try
            Dim num As Integer = Integer.Parse(args.Value)
            args.IsValid = ((num Mod 2) = 0)
        Catch ex As Exception
            args.IsValid = False
        End Try
    End Sub

d.      编写ButtonClick事件

    Protected Sub ValidateBtn_OnClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        If Page.IsValid Then

            Message.Text = "Page is valid."

        Else

            Message.Text = "Page is not valid!"

        End If

    End Sub

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 Sub ValidateBtn_OnClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        If Page.IsValid Then

            Message.Text = "Page is valid."

        Else

            Message.Text = "Page is not valid!"

        End If

    End Sub

d.       

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

将上面的两部分代码合并就OK了。

原文地址:https://www.cnblogs.com/htht66/p/1236332.html