摘 要:本文從當前通用動態(tài)網(wǎng)站的一般應用出發(fā),介紹了ASP.NET常用的四個驗證控件的使用。指出ASP.NET驗證控件的應用是區(qū)別與其他程序開發(fā)語言優(yōu)點之一,建議.NET程序員要認真體會,并熟練掌握。
關鍵詞:ASP.NET驗證控件;正則表達式
中圖分類號:TP393.092
ASP.NET是微軟公司開發(fā)的新型動態(tài)網(wǎng)站設計語言,目前很多中大型企業(yè)選擇VS做為開發(fā)環(huán)境,和SQLServer配合使用開發(fā)動態(tài)網(wǎng)站應用程序。簡單,易學易用。尤其體現(xiàn)在其提供了大量服務器控件,使操作更加便捷。在數(shù)據(jù)校驗方面,在其他語言程序員通常通過編寫代碼來實現(xiàn)對數(shù)據(jù)校驗與判斷,而.NET中卻提供了豐富的驗證控件,只要設置一下驗證控件的相關屬性,便能實現(xiàn)驗證功能。
ASP.NET提供了6個驗證控件,分別為必須寫字段驗證控件RequiredFieldValidator,用于檢查是否有輸入值,比較驗證控件CompareValidator用于比較按設定值進行比較,范圍驗證控件RangeValidator,用于檢查輸入值是否在指定范圍,正則表達式驗證控件RegularExpressionValidator,可以判斷用戶輸入的內(nèi)容是否符合規(guī)定的格式(正則表達式),用戶自定義驗證控件CustomerValidator和驗證匯總控件ValidationSummary。其中前四個尤為重要,應用較廣。
1 RequiredFieldValidator(必填驗證)控件
1.1 使用說明
在網(wǎng)頁上填寫信息時有些項目是必須輸入的,例如:用戶名、密碼等,ASP.NET提供了RequiredFieldValidator控件,用于強制用戶輸入信息,即必填字段驗證控件,用來檢查用戶是否在控件中輸入了數(shù)據(jù)。RequiredFieldValidator的使用方法很簡單,只需設置此控件的相關兩個屬性便可以實現(xiàn)。
1.2 屬性
ControlToValidate屬性設置欲驗證的對應控件名稱,ErrorMessage設置當驗證無效時顯示的報錯信息。這兩個屬性是每個驗證控件共有的。RequiredFieldValidator控件除具有驗證控件都共有的屬性之外,還具有一個特殊屬性InitialValue,其含義是獲取或設置ControlToValidate屬性指定的控件初始值。
2 CompareValidator(比較)驗證控件
2.1 使用說明
申請郵箱或注冊時需要兩次輸入密碼,系統(tǒng)將驗證第二次輸入的密碼是否與第一次完全相同,ASP.NET提供了CompareValidator控件實現(xiàn)這一功能,該控件能夠?qū)⒂脩糨斎氲揭粋€輸入控件中的值與輸入到另一個輸入控件中的值或某個常數(shù)值進行比較。除此以外他還可以進行數(shù)據(jù)類型檢查,如判斷輸入的是否為數(shù)字、字符串等。
2.2 屬性
其主要屬性有三個,ControlToValidate,用來設置要要檢查的控件,ErrorMessage屬性是設置如果控件的名不為空給出的報錯信息,ControlToCompare,用來控制和哪個控件進行比較。Type屬性表示要比較的控件的數(shù)據(jù)類型,Operator屬性表示比較操作設置操作符。
使用時,只需要將要驗證的控件ID填寫在ControlToValidate屬性上,將要比較的控件ID填寫在ControlToCompare上,再設置一下ErrorMessage就可以了。
3 RangeValidator(范圍驗證)控件
3.1 使用說明
RangeValidato控件用來檢驗控件中的值是否在設定的最小和最大值之間,其中設定的最小和最大值,可以是日期、數(shù)值、貨幣或字符串等類型均可。
3.2 屬性
MaximumValue,表最大值,MinimunVlaue表最小值,如年齡要求0-100歲之間。
則MinimumValue=0,MaximumValue=100,type設置integer即可。
4 RegularExpresionValidator(正則表達式)控件
4.1 使用說明
在網(wǎng)站注冊功能時,當要實現(xiàn)郵箱的驗證是否合法或是身份證號是否是15位或18位或是電話號碼及郵編是否合法時可以選擇RegularExpresionValidator正則表達式驗證控件。RegularExpressionValidator控件可用來檢查指定控件中的數(shù)據(jù)值是否與設定的正則表達式相匹配。正則表達式驗證控件的功能非常強大,讀者也可以自己構(gòu)造驗證方式。
4.2 屬性
除了ControlToValidate、ErrorMessage屬性外,此驗證控件還有個非常重要的ValidationExpression屬性,用來選擇正則規(guī)則的驗證內(nèi)容,選擇后自動顯示正則規(guī)則代碼。當然也可以自已設計和改造。
下面以驗證郵箱的合法性和身份證號碼的合法性來說明此驗證控件的應用。
相應屬性設計完畢后,可點擊源,查看其源碼為:
郵箱:
ControlToValidate=\"TextBox4\" ErrorMessage=\"不合法地址\"ValidationExpression=\"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\">
證件:
ControlToValidate=\"TextBox5\" ErrorMessage=\"輸入有效身份證號\" ValidationExpression=\"\d{17}[\d|X]|\d{15}\">
ASP.NET的驗證控件只需要簡單的屬性設置,就可以實現(xiàn)其相應龐大的驗證功能。這是.NET開發(fā)優(yōu)越與其他面向?qū)ο蟪绦蛟O計語言的優(yōu)點之一,開發(fā)工作者必須認真體會并熟練掌握。
參考文獻:
[1]楊成科.基于正則表達式的模糊查詢和數(shù)據(jù)匹配驗證[J].電腦知識與技術,2008.
[2]吳永富.文本框回車自動提交——博客園[OL].網(wǎng)絡(http://www.cnblogs.c),2011.05.31.
[3]盧守東.Web服務技術及其應用模式[J].電腦知識與技術,2009.
[4]張世海.設備采購計劃管理信息系統(tǒng)設計與實現(xiàn)[D].電子科技大學,2012.
[5]刷新后控制TAB鍵到下一個控件-仁面壽星-博客園[OL].網(wǎng)絡(http://www.cnblogs.c),2011.03.26.
[6]宋建樵.63837部隊政工網(wǎng)心理服務系統(tǒng)的設計與實現(xiàn)[D].電子科技大學,2012.
作者簡介:肖亞紅,湖南邵陽人,講師,研究方向:計算機軟件開發(fā)。
作者單位:湖南汽車工程技術學院(株洲職業(yè)技術學院),湖南株洲 412001