ASP.NET 環境下的頁面驗證控制項

來源:互聯網
上載者:User
驗證控制項用於驗證使用者的輸入,利用這些控制項,開發人員可以輕鬆的實現對使用者輸入的驗證。ASP.NET提供了六種驗證控制項。

1.Required Field Validator:驗證輸入是否為空白的控制項。

主要屬性:

Control To Validate:表示要進行檢查的控制項ID。此屬性必須設定為輸入控制項的ID,否則會發生異常。另外該ID所代表的控制項必須和驗證控制項在同一個容器中。

Error Message:表示當檢測不合法時,出現的錯誤提示資訊。

Display:表示錯誤的顯示方式,取值有Static、Dynamic和None。Static表示控制項的錯誤提示資訊(Error Message)在頁面中佔有固定的位置,如果沒有錯誤,他的顯示類似label;Dynamic表示控制項的錯誤資訊出現時才佔用頁面位置;None表示控制項的錯誤資訊出現時不顯示,但可以在Validator Summary中顯示。

2.Range Validator:範圍驗證控制項。

測試某個輸入的值是否在指定的範圍內。除了與Required Field Validator相同的屬性外,還有:

Maximum Value範圍的最大值

Minimum Value範圍的最小值

Tyep輸入值的資料類型。

3.Compare Validator:比較驗證控制項。

用於將某個使用者輸入與Web表單中其他控制項的值或者常數進行比較。

基本屬性:

Control To Validate:要被驗證的控制項ID;

Value To Compare:用來比較的常數值;

Control To Compare:用來比較的控制項ID;

Type:比較的資料類型;

Operator:比較操作類型;

Operator有7個可選屬性值,詳見下表:

值  說明
Equal 相比較的兩個值相等,通過驗證。
Not Equal  相比較的兩個值不相等,通過驗證。
GreaterThan  當被驗證的值(Control To Validate屬性所指向控制項的值)大於指定的常數(Value To Compare)或指定控制項(Control To Compare)的值時,驗證通過。 
Greater Than Equal  當被驗證的值(Control To Validate屬性所指向控制項的值)大於等於指定的常數(Value To Compare)或指定控制項(Control To Compare)的值時,驗證通過。
Less Than  當被驗證的值(ControlToValidate屬性所指向控制項的值)小於指定的常數(ValueToCompare)或指定控制項(ControlToCompare)的值時,驗證通過。 
Less Than Equal  當被驗證的值(Control To Validate屬性所指向控制項的值)小於等於指定的常數(Value To Compare)或指定控制項(Control To Compare)的值時,驗證通過。
Data Type Check   當被驗證的值(Control To Validate屬性所指向控制項的值)與指定的常數(Value To Compare)或指定控制項(Control To Compare)的實值型別相同時,驗證通過。

4.RegularExpressionValidator:Regex驗證控制項。

提供一個Regex編輯器,在屬性視窗中的ValidationExpression。使用這個控制項可以驗證比如電子郵件、社會安全號碼碼、URL等格式字串。

5.Custom Validator:使用者自訂驗證控制項。

On Server Validate事件是使用者自訂的驗證函式,形式如下:

protected void Custom Validator1_Server Validate(object source, Server Validate Event Args args)

{

}

如果args.Is Valid=true,則表示驗證通過,否則表示驗證失敗。

6.Validation Summary:匯總顯示驗證控制項。

幾個值得注意的屬性:

Header Text:驗證摘要頁的標題部分顯示的文本。

Show Summary:用於指定是否在頁面上顯示摘要。

Show Message Box:用於指定是否顯示一個訊息對話方塊來顯示驗證的摘要資訊。

Display Mode:用於設定驗證摘要顯示的模式,可取下列的幾個值:

Bullet List:預設的顯示模式,每個錯誤提示訊息都顯示為單獨的項;

List:每個顯示資訊都顯示在不同行中;

Single Paragraph:所有的錯誤提示資訊都顯示在同一段中。

7.屏蔽驗證功能

在一般情況下,ASP.NET的驗證會自動開啟驗證功能,使用者提交時,如果驗證沒有通過,那麼無法提交資料。但有時候需要允許使用者即使在沒有通過驗證也能發送資料。例如:單擊“取消”按鈕並不需要所有的資料都通過驗證的情況下才能提交資料。

在這種情況下,為了針對某個控制項屏蔽伺服器端和用戶端驗證,可以使用下列兩種方法在不觸發驗證控制項的情況下會送資料。

1)將控制項的CausesValidation屬性設定為false。例如:建立“取消”按鈕,使其不觸發驗證檢查。

2)如果要屏蔽用戶端驗證而只執行服務端驗證,可以將這個驗證控制項設定為不產生用戶端指令碼;如果要在驗證前執行一些伺服器代碼,可以將該控制項的Enable Client Script屬性設定為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.