CompareValidator 控制項又稱為“比較驗證控制項”,它主要用於將輸入控制項的值與指定的常數值或其他輸入控制項的值按照指定的比較運算符(>、<、=、<>、>=及<=等)進行比較,以判斷兩個值是否匹配。此外,CompareValidator 控制項還可以用來判斷用戶輸入的值是否可以轉換為其Type屬性所指定的數據類型。
使用 CompareValidator 控制項將由用戶輸入到輸入控制項(例如 TextBox 控制項)的值與輸入到其他輸入控制項的值或常數值進行比較。如果輸入控制項的值符合 Operator、ValueToCompare 及/或 ControlToCompare 屬性指定的條件,CompareValidator 控制項便可通過驗證。
還可以使用 CompareValidator 控制項來指示輸入到輸入控制項中的值是否可以轉換為 BaseCompareValidator..::.Type 屬性所指定的數據類型。
通過設定 ControlToValidate 屬性指定要驗證的輸入控制項。如果要將特定輸入控制項與其他輸入控制項進行比較,請設定 ControlToCompare 屬性以指定要與之比較的控制項。
說明:
如果輸入到 ControlToCompare 屬性所指定的輸入控制項中的值無法轉換為 BaseCompareValidator..::.Type 屬性所指定的數據類型,而輸入到 ControlToValidate 屬性所指定的輸入控制項中的值可以轉換,則所驗證的輸入控制項將被視為有效。因此,您還應在 ControlToCompare 屬性所指定的輸入控制項上放置 CompareValidator 或 RangeValidator 控制項。
還可以將輸入控制項的值與常數值進行比較,而不是將一個輸入控制項的值與其他輸入控制項的值進行比較。通過設定 ValueToCompare 屬性指定要與之比較的常數值。
說明:
如果 ValueToCompare 屬性指定的值無法轉換為 BaseCompareValidator..::.Type 屬性指定的數據類型,將引發異常。在以編程方式將該值分配給 ValueToCompare 屬性之前,一定要檢查該值的數據類型。
說明:
請勿同時設定 ControlToCompare 和 ValueToCompare 屬性。既可以將輸入控制項的值與另一個輸入控制項的值進行比較,也可以將其與常數值進行比較。如果同時設定了這兩個屬性,則 ControlToCompare 屬性優先。
使用 Operator 屬性指定要執行的比較的類型,如大於、等於等等。如果將 Operator 屬性設定為 ValidationCompareOperator.DataTypeCheck,則 CompareValidator 控制項忽略 ControlToCompare 和 ValueToCompare 屬性,並且僅指示輸入到輸入控制項中的值是否可以轉換為 BaseCompareValidator..::.Type 屬性指定的數據類型。
重要說明:
下表列出了可以比較的各種數據類型。
說明
String
字元串數據類型。
Integer
32 位有符號整數數據類型。
Double
雙精度浮點數數據類型。
Date
日期數據類型。
Currency
一種可以包含貨幣符號的十進制數據類型。
說明:
如果輸入控制項為空,則不會調用任何驗證函式,並且驗證將成功。使用 RequiredFieldValidator 控制項要求用戶在輸入控制項中輸入數據。
說明:
當使用 UpdatePanel 控制項內部的 CompareValidator 控制項時,請確保該驗證程式控制項與關聯的控制項位於同一面板中。有關將 UpdatePanel 控制項用於部分頁更新的更多信息,請參見部分頁呈現概述。
有關驗證控制項的更多信息,請參見 BaseValidator。