資源描述:
《Web程序設(shè)計——ASP.NET 第2版 教學(xué)課件 作者 陳冠軍 馬翠翠 第5章ASP.NET常用驗證控件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、第5章ASP.NET驗證控件本章主要講述ASP.NET中的驗證控件。Web頁面通常用于詢問用戶,并要求用戶錄入一些信息,然后存儲這些信息到后臺數(shù)據(jù)庫。為了確保用戶在表單的各個域中輸入正確的數(shù)據(jù)或者是所輸入的數(shù)據(jù)符合商業(yè)邏輯的需求,需要進行客戶端和服務(wù)器端的一系列驗證。ASP.NET驗證控件5.1使用ASP.NET驗證控件5.2使用正則表達(dá)式5.35.1ASP.NET驗證控件ASP.NET中內(nèi)置了一套用于進行驗證的控件,使用這套控件,開發(fā)人員只需要定義幾個屬性或者編寫少量的代碼就可以實現(xiàn)驗證的過程。由于服務(wù)器端的驗證需要經(jīng)歷由客戶端
2、到服務(wù)器端的一次往返過程,因此很多時候?qū)τ谟脩糨斎氲尿炞C都建議在客戶端進行實現(xiàn)。這樣可以節(jié)省服務(wù)器端的資源,并可以給用戶更快的回應(yīng)。5.1.1驗證控件介紹ASP.NET提供了6個驗證控件,可以幫助程序員少寫許多代碼來驗證用戶輸入的數(shù)據(jù)。這6個驗證控件,各自具有各自的驗證特色,大大節(jié)省了開發(fā)人員手工編寫驗證代碼的代碼量??丶Q說明RequiredFieldValidator驗證用戶是否輸入了數(shù)據(jù),即強迫用戶必須輸入CompareValidator驗證用戶輸入的數(shù)據(jù)和某個值利用比較運算的結(jié)果是否成立CustomValidator自定
3、義的驗證方式RangeValidator驗證用戶輸入的數(shù)據(jù)是否在指定范圍內(nèi)RegularExpressionValidator以特定規(guī)則驗證使用者輸入的數(shù)據(jù)。使用正則表達(dá)式進行驗證ValidationSummary顯示未通過的驗證5.1.2驗證控件的基類BaseValidator在System.Web.UI.WebControls命名空間中的所有的驗證控件都派生自BaseValidator基類,該類提供了驗證控件的基本功能。所有的驗證控件都派生自BaseValidator類,因此都共享上面提到的屬性和方法,此外,BaseValid
4、ator還從其基類Label繼承了BackColor、Font、ForeColor以及其他的一些屬性。5.2使用ASP.NET驗證控件為了提高ASP.NET應(yīng)用程序的安全性,ASP.NET特意提供了服務(wù)器端驗證控件,它們可以直接在網(wǎng)頁客戶端對用戶輸入進行驗證,即在驗證之前,不需要把網(wǎng)頁提交到服務(wù)器。本節(jié)就學(xué)習(xí)這些驗證控件的使用。如果Web應(yīng)用程序沒有驗證用戶輸入,那么應(yīng)用程序很容易受到攻擊。5.2.1使用RequiredFieldValidator進行非空驗證該控件在提交網(wǎng)頁到服務(wù)器時刻之前,檢查被驗證控件的輸入值是否為空;如果為
5、空,則該控件顯示錯誤信息和提示信息圖5-1非空驗證5.2.2使用RangeValidator限定輸入范圍RangeValidator控件為范圍驗證控件,常用于驗證文本框的輸入值是否在一個特定的范圍之內(nèi)。該控件提供Integer、String、Date、Double、Currency這5種類型的驗證,每種類型的驗證都存在一個最大值和和一個最小值。圖5-2范圍驗證5.2.3使用CompareValidator進行比較驗證CompareValidator控件又稱為比較驗證控件,常用于驗證兩個輸入框的輸入信息是否相等,或者驗證某一個輸入框
6、的輸入信息和某個固定表達(dá)式值是否相等,同時還可以設(shè)置控件比較的操作符和比較的數(shù)據(jù)類型。圖5-3比較驗證5.2.4使用CustomValidator自定義驗證CustomValidator控件又稱為自定義驗證控件,該類驗證控件比較特別,用戶可以自定義控件的驗證方式,如客戶端驗證函數(shù)、服務(wù)器端驗證函數(shù)等。圖5-4自定義驗證5.2.5使用ValidationSummary顯示驗證信息ValidationSunmmary控件又稱為驗證總結(jié)控件,該控件可以對多個文本框進行同時驗證,并且還可以把多個驗證控件的錯誤或者提示信息組合在一起,并顯示
7、錯誤或者提示信息。圖5-5統(tǒng)一驗證5.3使用正則表達(dá)式請讀者先按下Windows+F組合鍵,打開Windows搜索框??梢允褂靡恍┖唵蔚耐ㄅ浞麃聿檎椅募?。“?”和“*”通配符的能力引入了正則表達(dá)式所依賴的概念,但正則表達(dá)式功能更強大,而且更加靈活。5.2.1使用RequiredFieldValidator進行非空驗證該控件在提交網(wǎng)頁到服務(wù)器時刻之前,檢查被驗證控件的輸入值是否為空;如果為空,則該控件顯示錯誤信息和提示信息5.3.1正則表達(dá)式的用途典型的搜索和替換操作要求提供與預(yù)期的搜索結(jié)果匹配的確切文本。5.3.2正則表達(dá)式的語法
8、/^s*$/匹配空行。/d{2}-d{5}/驗證由兩位數(shù)字、一個連字符再加5位數(shù)字組成的ID號。/]*)?>[sS]*/匹配HTML標(biāo)記。5.3.3使用RegularExpressio