ASP.NET驗證控件之CompareValidator


大家對CompareValidator應該非常熟悉了吧,它的作用就是比較兩個輸入框所輸入的值是否一致。最常用的就是在用戶注冊的時候檢驗兩次輸入的密碼是否一致。相信只要上過網的人都遇到過吧!好了廢話不多說,下面一起看看他的常用屬性:


屬性

描述

BackColor

 背景顏色。

ControlToCompare

 要與所驗證的輸入控件進行比較的輸入控件。

ControlToValidate

 要驗證的輸入控件的 ID。

Display

 驗證控件中錯誤信息的顯示行為。

 合法值是:

·         None 驗證消息從不內聯顯示。

·         Static 在頁面布局中分配用於顯示驗證消息的空間。

·         Dynamic 如果驗證失敗,將用於顯示驗證消息的空間動態添加到頁面。

EnableClientScript

 布爾值,規定是否啟用客戶端驗證。true為啟用,false為不啟用。

Enabled

 布爾值,規定是否啟用驗證控件。true為啟用,false為不啟用。

ErrorMessage

 當驗證失敗時在 ValidationSummary 控件中顯示的文本。

 注釋:如果未設置 Text 屬性,此文本將顯示在驗證控件中。

ForeColor

 控件的前景色。即錯誤信息的字體顏色。

id

 控件的唯一 ID。

IsValid

 布爾值,指示由 ControlToValidate 指定的輸入控件是否通過驗證。true為通過,false為未通過。

Operator

 要執行的比較操作的類型。

 運算符是:

·         Equal 等於

·         GreaterThan 大於

·         GreaterThanEqual 大於等於

·         LessThan 小於

·         LessThanEqual 小於等於

·         NotEqual 不等於

·         DataTypeCheck 驗證數據類型(如果規定類型為整型,那么輸入字符就不能通過驗證)

runat

 規定控件是服務器控件。必須設置為 "server"。

Text

 當驗證失敗時顯示的消息。

Type

 規定要對比的值的數據類型。

 類型有:

·         Currency

·         Date

·         Double

·         Integer

·         String

ValueToCompare

 一個常數值,該值要與由用戶輸入到所驗證的輸入控件中的值進行比較。



下面是CompareValidator的實際應用:

 

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="密碼比較.aspx.cs" Inherits="WebApplication1.密碼比較" %>


<!DOCTYPE html>


<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>密碼比較</title>
</head>
<body>
    <form id="form1" runat="server">


        <asp:Label ID="lbPWD1" runat="server" Text="請輸入密碼:"></asp:Label>
        <asp:TextBox ID="txtPWD1" runat="server" TextMode="Password"></asp:TextBox>


        <br />
        <br />


        <asp:Label ID="lbPWD2" runat="server" Text="請確認密碼:"></asp:Label>
        <asp:TextBox ID="txtPWD2" runat="server" TextMode="Password"></asp:TextBox>
        <asp:CompareValidator ID="CompareValidator1" ForeColor="Red" runat="server" ErrorMessage="兩次密碼輸入不一致" ControlToValidate="txtPWD1" ControlToCompare="txtPWD2"></asp:CompareValidator>


        <br />
        <br />


        <asp:Button ID="btnSubmit" runat="server" Text="提交" />


    </form>
</body>
</html>

 

  

當兩次輸入的密碼不一致是就會有如下提示(當然提示信息是自己定義的):


另外需要注意的是:如果兩個框輸入的都是空格,不輸入多少,兩個的數量一不一樣,都會認為一致,因為CompareValidator將全為空格的內容當做什么都沒有。但是如果輸入了實際內容,不管在什么地方加空格,只要兩個框的內容不一樣就會報錯。說明CompareValidator並沒有默認去掉首尾的空格。這一點需要注意。

 

雖然CompareValidator跟用js實現起來在對資源的消耗與用戶體驗上有一定的差距,不過它用起來比較簡單方便,適合入門時學習使用。以后再向大家介紹js的方式。 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM