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