当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET验证控件之CustomValidator

ASP.NET验证控件之CustomValidator

2018年03月20日  | 移动技术网IT编程  | 我要评论

艾怫缔牱,中戏姐妹花,玉蒲团之初入桃源洞

CustomValidator是用户自定义的验证控件,用来响应用户自定义的验证。可以使JS的客户端函数,也可以是写在后台代码中的服务端验证函数。

 

以下是CustomValidator的常用属性

属性

描述

 BackColor

 背景颜色。

 ClientValidationFunction               

 规定用于验证的自定义客户端脚本函数的名称。

 注释:脚本必须用浏览器支持的语言编写,比如 VBScript 或 JScript

 使用 VBScript 的话,函数必须位于表单中:

 Sub FunctionName (source, arguments)

 使用 JScript 的话,函数必须位于表单中:

 Function FunctionName (source, arguments)

 ControlToValidate

 要验证的输入控件的 id。

 Display

 验证控件中错误信息的显示行为。

 合法的值有:

·         None - 验证消息从不内联显示。

·         Static - 在页面布局中分配用于显示验证消息的空间。

·         Dynamic - 如果验证失败,将用于显示验证消息的空间动态添加到页面。

 EnableClientScript

 布尔值,该值指示是否启用客户端验证。

 Enabled

 布尔值,该值指示是否启用验证控件。

 ErrorMessage

 验证失败时 ValidationSummary 控件中显示的错误信息的文本。

 注释:如果设置了 ErrorMessage 属性但没有设置 Text 属性,则验证控件中也将显示  ErrorMessage 属性的值。

 ForeColor

 控件的前景色。

 id

 控件的唯一 id。

 IsValid

 布尔值,该值指示关联的输入控件是否通过验证。

 OnServerValidate

 规定被执行的服务器端验证脚本函数的名称。

 runat

 规定该控件是服务器控件。必须设置为 "server"。

 Text

 当验证失败时显示的文本。

 

 

学以致用,看看CustomValidator在实际当中的应用

[html]  

<%@ Page Language="C#" AutoEventWireup="true" Inherits="Default2" Codebehind="Default2.aspx.cs" %>  

  

<!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 type="text/javascript" language="javascript">  

    function Clientv(s,e)  

    {  

        e.IsValid=(e.Value=="客户端");  

    }  

      

    </script>  

</head>  

<body>  

    <form id="form1" runat="server">  

    <p>  

          

                    客户端验证  

              

                    <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>  

              

    </p>  

        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="提交" />  

    </form>  

</body>  

</html>  

 

 

写在cs文件中的服务端验证函数

[csharp] 

//服务端的验证方法  

protected void Server_ServerValidate(object source, ServerValidateEventArgs args)  

{  

    args.IsValid=(args.Value=="服务端");  

}  

 

客户端提示验证失败,而且此时不再提交信息,所以服务端验证不会被执行。

 

客户端验证通过,服务端验证失败。

有一点需要注意一下,就是CustomValidator不会对空值或者全部为空格的内容进行验证,这一点可以通过跟之前讲的其他控件配合使用。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网