1. 程式人生 > >在Asp.net 中驗證資料

在Asp.net 中驗證資料

Asp.net 提供了一系列的驗證控制元件來驗證使用者的輸入。

1.  驗證控制元件總覽

     1.1  RequiredFieldValidator  驗證相聯的輸入的控制元件的值是否不同於他的初始值

      1.2 CompareValidator   將一個控制元件的值於另外一個控制元件的值進行比較

      1.3 RangeValidator  驗證相聯的控制元件的值是否在指定的範圍之內。

      1.4 RegularExperessionValidator 驗證相聯的控制元件的值是否滿足指定的正則表示式。

       1.5 CustomValidator   可自定義驗證的邏輯

        1.6validationSummary  顯示一個頁面發生的所有驗證錯誤資訊

2. ErrorMessage 屬性和 Text 屬性

        如果只有ErrorMessage 屬性被設定,當相聯控制元件的值非法時將顯示ErrorMessage 中設定的字串。

       如果同時設定了ErrorMessage 屬性和Text屬性,當相聯控制元件的值非法時將顯示Text中設定的字串。ErrorMessage中的字串將顯示在validationSummary 控制元件中。

3. 組合驗證

       一個控制元件可以擁有多個相聯的驗證控制元件。

       當相聯的控制元件的值為空時,所有的驗證控制元件除RequiredFieldValidator 外都認為是合法的、

       預設情況下,驗證的控制元件的Display 屬性被設定為Static , 此時,即使此驗證的結果是合法的,驗證也會佔有相應的頁面控制元件。當一個控制元件有多個相聯的驗證控制元件時應將驗證控制元件的Display的屬性設為Dynamic、

4. 取消驗證

       通過將控制元件(如Button) 的CauseValidation 屬性設為false,可以取消驗證。 此時,可以在服務端呼叫Validate方法後檢查IsValid 屬性來檢驗輸入是否合法。

5. 自定義驗證

      在服務端,通過響應CustomValidator的ServerValidate 事件來提供自己的驗證邏輯。當驗證通過時,將args.IsValid 設為true,否則設為false。

      如果要提供客戶端的驗證邏輯,用Javascript 書寫一個驗證邏輯。將驗證函式的函式名賦給CustomValidator的Clientvalidation 屬性。