大家對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的方式。