CustomValidator是用户自定义的验证控件,用来响应用户自定义的验证。可以使JS的客户端函数,也可以是写在后台代码中的服务端验证函数。
以下是CustomValidator的常用属性
学以致用,看看CustomValidator在实际当中的应用
<%@ Page Language="C#" AutoEventWireup="true" Inherits="Default2" Codebehind="Default2.aspx.cs" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www./1999/xhtml" >
<head runat="server">
<title>用户自定义控件</title>
<script type="text/javascript" language="javascript">
function Clientv(s,e)
{
e.IsValid=(e.Value=="客户端");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
客户端验证
<asp:TextBox ID="txtClient" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="txtClient"
ErrorMessage="客户端验证失败" ClientValidationFunction="Clientv" ForeColor="Red"></asp:CustomValidator>
<br />
服务器验证
<asp:TextBox ID="txtServer" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="txtServer"
ErrorMessage="服务端验证失败" OnServerValidate="Server_ServerValidate" ForeColor="Red"></asp:CustomValidator>
</div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="提交" />
</form>
</body>
</html>
写在cs文件中的服务端验证函数
//服务端的验证方法
protected void Server_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid=(args.Value=="服务端");
}
客户端提示验证失败,而且此时不再提交信息,所以服务端验证不会被执行。
客户端验证通过,服务端验证失败。
有一点需要注意一下,就是CustomValidator不会对空值或者全部为空格的内容进行验证,这一点可以通过跟之前讲的其他控件配合使用。
|