ASP.Net驗證控件詳解
ASP.NET是微軟推出的下一代WEB開發工具,其強大的功能立即吸引了一大批web開發者投入它的靡下。現在,我們來看看ASP.NET的驗證控件,感受ASP.Net的強大功能同時方便我們現在的web開發。
web開發者特別是ASP開發者,一直對數據驗證比較惱火,當你好不容易寫出數據提交程序的主體以後,還不得不花大把時間去驗證用戶的每一個輸入是否合法。如果開發者熟悉JavaScript或者VBScript,可以用這些腳本語言輕松實現驗證,但是又要考慮用戶浏覽器是否支持這些腳本語言;如果對這些不是很熟悉或者想支持所有用戶浏覽器,就必須在ASP程序裡面驗證,但是這樣驗證就會增加服務器負擔。現在,有了ASP.Net,你不但可以輕松的實現對用戶輸入的驗證,而且,還可以選擇驗證在服務器端進行還是在客戶端進行,再也不必考慮那麼多了,程序員們可以將重要精力放在主程序的設計上了。
ASP.Net共有六種驗證控件,分別如下:
下面,我們來看這些控件的使用
一:RequiredFIEldValidator(必須字段驗證)的使用
RequiredFIEldValidator控件使用的標准代碼如下:
ControlToValidate="要檢查的控件名"
ErrorMessage="出錯信息"
Display="Static|Dymatic|None"
>
占位符
在以上標准代碼中:
ControlToValidate:表示要進行檢查控件ID;
ErrorMessage:表示當檢查不合法時,出現的錯誤信息;
Display :錯誤信息的顯示方式;Static表示控件的錯誤信息在頁面中占有肯定位置;Dymatic表示控件錯誤信息出現時才占用頁面控件;None表示錯誤出現時不顯示,但是可以在ValidatorSummary中顯示;
占位符:表示Display為Static時,錯誤信息占有“占位符”那麼大的頁面空間;
現在,讓我們看一個實例:
ControlToValidate="txtName"
ErrorMessage="姓名必須輸入"
Display="Static">
*姓名必須輸入
在以上例子中,檢查txtName控件是否有輸入,如果沒有,顯示錯誤信息“姓名必須輸入”。是不是很簡單?
注意:以上代碼和下面其他控件的代碼最好放入Form中,和ASP中不一樣的是,Form最好寫為這樣:
這樣,Form在服務器端執行,提交才會有效;
二:CompareValidator(比較驗證)控件
比較控件比較兩個控件的輸入是否符合程序設定,大家不要把比較僅僅理解為“相等”,盡管相等是用的最多的,其實,這裡的比較包括范圍很廣,大家看標准代碼就會明白。
比較控件的標准代碼如下:
ControlToValidate="要驗證的控件ID"
errorMessage="錯誤信息"
ControlToCompare="要比較的控件ID"
type="String|Integer|Double|DateTime|Currency"
Operator="Equal|NotEqual|GreaterThan|GreaterTanEqual|LessThan|LessThanEqual|DataTypeCheck"
Display="Static|Dymatic|None"
>
占位符
在以上標准代碼中:
Type表示要比較的控件的數據類型;
Operator表示比較操作(也就是剛才說的為什麼比較不僅僅是“相等”的原因),這裡,比較有7種方式;
其他屬性和RequiredFIEldValidator相同;
在這裡,要注意ControlToValidate和ControlToCompare的區別,如果Operate為GreateThan,那麼,必須ControlToCompare大於ControlToValidate才是合法的,這下,應該明白它們兩者的意義了吧?例子程序請參考RequiredFIEldValidator控件,對照標准代碼自己設計。
三:RangeValidator(范圍驗證)控件
驗證輸入是否在一定范圍,范圍用MaximumValue(最大)和MinimunVlaue來確定,
標准代碼如下:
controlToValidate="要驗證的控件ID"
type="Integer"
MinimumValue="最小值"
MaximumValue="最大值"
errorMessage="錯誤信息"
Display="Static|Dymatic|None"
>
占位符
在以上代碼中:
用MinimumValue和MaximumValue來界定控件輸入值得范圍,用type來定義控件輸入值的類型。
四:RegularExpresionValidator(正則表達式)控件
正則表達式驗證控件的功能非常強大,你可以自己容易構造驗證方式,我們先來看看標准代碼:
ControlToValidate="要驗證控件名"
ValidationExpression="正則表達式"
errorMessage="錯誤信息"
display="Static"
>
占位符
在以上標准代碼中,ValidationExpression是重點,現在來看看它的構造:
在ValidationExpression中,不同的字符表示不同的含義:
“.”表示任意字符;
“*”表示和其他表達式一起,表示容易組合;
“[A-Z]”表示任意大寫字母;
“\d”表示容易一個數字;
注意,在以上表達式中,引號不包括在內;
舉例:
正則表達式:“.*[A-Z]”表示數字開頭的任意字符組合其後接一個大寫字母。
五:ValidationSummary(驗證總結)控件
該控件收集本頁的所有驗證錯誤信息,並可以將它們組織以後再顯示出來。其標准代碼如下:
HeaderText=”頭信息”
ShowSummary=”True|False”
DiaplayMode=”List|BulletList|SingleParagraph”>
在以上標准代碼中,HeadText相當於表的HeadText,DisplayMode表示錯誤信息顯示方式:List相當於Html中的
;BulletList相當於Html中的