ASP.NET驗證控制項之CustomValidator

來源:互聯網
上載者:User

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不會對空值或者全部為空白格的內容進行驗證,這一點可以通過跟之前講的其他控制項配合使用。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.