zoukankan      html  css  js  c++  java
  • ASP.NET验证控件之CustomValidator

    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在实际当中的应用

    <%@ 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">
        <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不会对空值或者全部为空格的内容进行验证,这一点可以通过跟之前讲的其他控件配合使用。


  • 相关阅读:
    简单工厂笔记
    P3369 【模板】普通平衡树 Treap树堆学习笔记
    tp5阿里云短信验证码
    centos 安装php
    tp6.0.2开启多应用模式
    linux navicat最新版过期
    git commit之后 取消commit
    服务器重置之后ssh root@报错
    git pull push 每次都需要输入账号和密码
    跨域问题 php
  • 原文地址:https://www.cnblogs.com/liushuijinger/p/2846770.html
Copyright © 2011-2022 走看看