.NET基礎之驗證控制項

來源:互聯網
上載者:User

1.RequiredFieldValidator:非空驗證控制項
主要屬性:
ControlToValidate :要驗證的控制項ID
ErrorMessage :驗證的控制項無效時顯示的訊息
InitialValue :要驗證的欄位的初始值,很少用到

 

2.CompareValidator:比較驗證控制項
主要屬性:
ControlToCompare :用於進行比較的控制項ID
ControlToValidate :要驗證的控制項ID
ErrorMessage :驗證的控制項無效時顯示的訊息
Operator :對值進行比較操作,預設為Equal(=)
Type:用於比較的值的資料類型

Operator 屬性

說明

Equal

所驗證的輸入控制項的值與其他控制項的值或常數值之間的相等比較。

NotEqual

所驗證的輸入控制項的值與其他控制項的值或常數值之間的不等比較。

GreaterThan

所驗證的輸入控制項的值與其他控制項的值或常數值之間的大於比較。

GreaterThanEqual

所驗證的輸入控制項的值與其他控制項的值或常數值之間的大於或等於比較。

LessThan

所驗證的輸入控制項的值與其他控制項的值或常數值之間的小於比較。

LessThanEqual

所驗證的輸入控制項的值與其他控制項的值或常數值之間的小於或等於比較。

DataTypeCheck

輸入到所驗證的輸入控制項的值與 Type屬性指定的資料類型之間的資料類型比較。如果無法將該值轉換為指定的資料類型,則驗證失敗。

如果Operator屬性為DataTypeCheck,將忽略ControlToCompare 和 ValueToCompare屬性,同時Type屬性起作用。

Type屬性 說明

String

指定字串資料型別。

Integer

指定 32 位有符號整數資料類型。

Double

指定雙精確度浮點數資料類型。

Date

指定日期資料類型。

Currency

指定貨幣資料類型

3.RangeValidator:資料範圍驗證控制項
主要屬性:
ControlToValidate :要驗證的控制項ID
ErrorMessage :驗證的控制項無效時顯示的訊息
MaximumValue:所驗證控制項的最大值
MinimumValue:所驗證控制項的最小值

 

4.RegularExpressionValidator:資料格式驗證控制項
主要屬性:
ControlToValidate :要驗證的控制項ID
ErrorMessage :驗證的控制項無效時顯示的訊息
ValidationExpression:用於確定有效性的Regex,系統預設提供了幾個Regex,如果需要自己建立,就要瞭解Regex的意義,推薦一篇網摘:Regex整理備忘

Regex 說明
方括弧“[ ]” 用與定義可接受的字元。[abc123] 表示控制項只能接受 a,b,c,1,2,3 這6個字元
反集合符號 “ ^ ” 用於定義不可以接受的字元。[^a-h] 表示控制項除了 a 到 h 8個字元外,都可以接受
花括弧“{ }” 定義必須輸入的字元個數。{6}表示只能輸入6個字元 ; {6,}表示必須輸入6個以上,無上限 ; {2,6} 表示必須輸入2至6個字元;但是花括弧必須放在方括弧後面,例如 [a-z]{4} 表示必須輸入 4位a和z之間的任一字元
小圓點 “ . ” 用於代表任一字元。 例如 .{3,6}表示接受3到6個任一字元。
豎線 “ | ” 用於表示 “或”的邏輯符號。例如 [1-9]{3,6}|[A-Za-z]{3} 表示可以接受 3到6個數字或者 3個字母。 (大小寫都可以區別的哦)
小括弧“ () ” 用於分塊,與數字運算中的小括弧作用類似
斜線 “ \ ” 若希望可以接受的字元包含上述特殊字元。例如 \([0-9]{3}\),表示輸入格式為“(xxx)”的電話區號

 

5.ValidationSummary:驗證錯誤資訊顯示控制項
主要屬性:
DisplayMode:摘要顯示格式
ShowMessageBox:是否彈出錯誤的訊息對話方塊
ShowSummary:是否顯示錯誤摘要文本

 

6.CustomValidator:自訂驗證控制項
主要屬性:
ControlToValidate :要驗證的控制項ID
ErrorMessage :驗證的控制項無效時顯示的訊息 
ValidateEmptyText:控制項文本為空白時,是否驗證控制項
ClientValidationFunction:用戶端指令碼驗證功能,預設為空白。如希望在伺服器添加驗證,則使其為空白並填寫ServerValidate事件,如希望在用戶端添加驗證,則該屬性值為JavaScript的function名。
主要事件:
用戶端驗證:ClientValidationFunction="clientv"
<script type="text/jscript">
    function clientv(s,e)
    {
        if(e.Value=="用戶端")
        {
            e.IsValid=true;
        }
        else
        {
            e.IsValid=false;
        }
    }
    </script>
伺服器驗證:ClientValidationFunction=""
ServerValidate:調用以在伺服器上執行驗證;雙擊控制項或者選用事件。

例題:判斷輸入是否為偶數
 1protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
 2    { 
 3        try 
 4        { 
 5            //如果輸入的值為偶數,則驗證通過。args.Value:需要驗證的控制項的值 
 6            if ((Convert.ToInt32(args.Value) % 2) == 0) 
 7            { 
 8                //是否通過驗證 
 9                args.IsValid = true; 
10            } 
11            else 
12            { 
13                args.IsValid = false; 
14            } 
15        } 
16        catch(Exception e) 
17        { 
18            args.IsValid = false; 
19        } 
20    }
21
22

 

7.禁用驗證控制項
在特定條件下,可能需要避開驗證,可以通過以下3種方式禁用資料驗證:

  • 在特定控制項中禁用驗證:將相關控制項的CausesValidation屬性設定為false
  • 禁用驗證控制項:將驗證控制項的Enabled屬性設定為false
  • 禁用用戶端驗證:將驗證控制項的EnableClientScript屬性設定為false

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.