在服务器端执行验证:
1、利用控件的事件
(1)HTML视图
<body>
<form id="form1" runat="server">
<asp:TextBox ID="txt" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" ControlToValidate="txt" runat="server" ErrorMessage="服务器端验证,输入值非偶数!
" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</body>
(2)在
VB代码窗口构造事件
Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
If args.Value Mod 2 = 0 Then
args.IsValid = True
Else
args.IsValid = False
End If
End Sub
注:
ServerValidate是CustomValidator1自有的事件。
1、利用自定义的方法
(1)HTML视图
<body>
<form id="form1" runat="server">
<asp:TextBox ID="txt" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" ControlToValidate="txt" runat="server" ErrorMessage="服务器端验证,输入值非偶数!
" OnServerValidate=" SerValidate"></asp:CustomValidator>
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</body>
(2)在VB代码窗口建立自定义方法
Protected Sub SerValidate (ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)
If args.Value Mod 2 = 0 Then
args.IsValid = True
Else
args.IsValid = False
End If
End Sub
注:SerValidate是自定义方法
<asp:TextBox ID="tb" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="tb"
ErrorMessage="客户端验证,输入值非偶数!
" ClientValidationFunction="ClientValidate"></asp:CustomValidator>
<asp:Button
ID="Button2" runat="server" Text="Button" /></div>
在客户端执行验证:
1、用javascript构造函数(javascript代码区分大小写,注意严格大小写)
(1)HTML视图
<body>
<form id="form1" runat="server">
<asp:TextBox ID="tb" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="tb" ErrorMessage="客户端验证,输入值非偶数!
" ClientValidationFunction="ClientValidate"></asp:CustomValidator>
<asp:Button ID="Button2" runat="server" Text="Button" />
</form>
</body>
(2)javascript函数
<head runat="server">
<title>验证控件示例
</title>
<script language=javascript>
function ClientValidate(source, arguments)
{
if ((arguments.Value % 2)==0)
arguments.IsValid=true;
else
arguments.IsValid=false;
}
</script>
</head>
2、用vbscript构造函数
(1)HTML视图
<body>
<form id="form1" runat="server">
<asp:TextBox ID="tb" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="tb" ErrorMessage="客户端验证,输入值非偶数!
" ClientValidationFunction="ClientValidate"></asp:CustomValidator>
<asp:Button ID="Button2" runat="server" Text="Button" />
</form>
</body>
(2)vbscript函数
<head runat="server">
<title>验证控件示例
</title>
<script language="vbscript">
Sub ClientValidate(source, arguments)
If (arguments.Value mod 2) = 0 Then
arguments.IsValid=true
Else
arguments.IsValid=false
End If
End Sub
</script>
</head>
注意:创建客户端验证函数时,请务必同时包括服务器端验证函数的功能。如果创建客户端验证函数时不存在相应的服务器端函数,则恶意代码可能会绕过验证。