明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

ASP.NET驗證控件詳細說明

[摘要]ASP.NET是微軟推出的下一代WEB開發(fā)工具,其強大的功能立即吸引了一大批WEB開發(fā)者投入它的靡下,F(xiàn)在,我們來看看ASP.NET的驗證控件,感受ASP.NET的強大功能同時方便我們現(xiàn)在的WEB開發(fā)! EB開發(fā)者特別是ASP開發(fā)者,一直對數(shù)據(jù)驗證比較惱火,當你好不容易寫出數(shù)據(jù)提交程序的主體以...
 ASP.NET是微軟推出的下一代WEB開發(fā)工具,其強大的功能立即吸引了一大批WEB開發(fā)者投入它的靡下,F(xiàn)在,我們來看看ASP.NET的驗證控件,感受ASP.NET的強大功能同時方便我們現(xiàn)在的WEB開發(fā)。
  WEB開發(fā)者特別是ASP開發(fā)者,一直對數(shù)據(jù)驗證比較惱火,當你好不容易寫出數(shù)據(jù)提交程序的主體以后,還不得不花大把時間去驗證用戶的每一個輸入是否合法。如果開發(fā)者熟悉JavaScript或者VBScript,可以用這些腳本語言輕松實現(xiàn)驗證,但是又要考慮用戶瀏覽器是否支持這些腳本語言;如果對這些不是很熟悉或者想支持所有用戶瀏覽器,就必須在ASP程序里面驗證,但是這樣驗證就會增加服務器負擔,F(xiàn)在,有了ASP.NET,你不但可以輕松的實現(xiàn)對用戶輸入的驗證,而且,還可以選擇驗證在服務器端進行還是在客戶端進行,再也不必考慮那么多了,程序員們可以將重要精力放在主程序的設計上了。

ASP.NET公有六種驗證控件,分別如下: 


控件名 功能描敘
RequiredFieldValidator(必須字段驗證) 用于檢查是否有輸入值
CompareValidator(比較驗證) 按設定比較兩個輸入
RangeValidator(范圍驗證) 輸入是否在指定范圍
RegularExpressionValidator(正則表達式驗證) 正則表達式驗證控件
CustomValidator(自定義驗證) 自定義驗證控件
ValidationSummary(驗證總結(jié)) 總結(jié)驗證結(jié)果


下面,我們來看這些控件的使用
  一:RequiredFieldValidator(必須字段驗證)的使用
  RequiredFieldValidator控件使用的標準代碼如下:
<ASP:RequiredFieldValidator id="Validator_Name" Runat="Server"
   ControlToValidate="要檢查的控件名"
   ErrorMessage="出錯信息"
   Display="Static Dymatic None"
。
 占位符
</ASP: RequiredFieldValidator >


在以上標準代碼中:
  ControlToValidate:表示要進行檢查控件ID;
  ErrorMessage:表示當檢查不合法時,出現(xiàn)的錯誤信息;
  Display:錯誤信息的顯示方式;Static表示控件的錯誤信息在頁面中占有肯定位置;Dymatic表示控件錯誤信息出現(xiàn)時才占用頁面控件;None表示錯誤出現(xiàn)時不顯示,但是可以在ValidatorSummary中顯示;
  占位符:表示Display為Static時,錯誤信息占有"占位符"那么大的頁面空間;


  現(xiàn)在,讓我們看一個實例:
<ASP:TextBox id="txtName" RunAt="Server"/>
<ASP:RequiredFieldValidator id="Validator1" Runat="Server"
   ControlToValidate="txtName"
   ErrorMessage="姓名必須輸入"
   Display="Static">
  *姓名必須輸入
</ASP:RequiredFieldValidator>


在以上例子中,檢查txtName控件是否有輸入,如果沒有,顯示錯誤信息"姓名必須輸入"。是不是很簡單?
注意:以上代碼和下面其他控件的代碼最好放入Form中,和ASP中不一樣的是,F(xiàn)orm最好寫為這樣:
<Form RunAt="Server">
其他代碼
</Form> 
這樣,F(xiàn)orm在服務器端執(zhí)行,提交才會有效;


二:CompareValidator(比較驗證)控件
  比較控件比較兩個控件的輸入是否符合程序設定,大家不要把比較僅僅理解為"相等",盡管相等是用的最多的,其實,這里的比較包括范圍很廣,大家看標準代碼就會明白。
  比較控件的標準代碼如下:
<ASP:CompareValidator id="Validator_ID" RunAt="Server"
ControlToValidate="要驗證的控件ID"
errorMessage="錯誤信息"
ControlToCompare="要比較的控件ID"
type="String Integer Double DateTime Currency"
operator="Equal NotEqual GreaterThan GreaterTanEqual LessThan LessThanEqual DataTypeCheck"
Display="Static Dymatic None"

占位符
</ASP:CompareValidator>


在以上標準代碼中:
  Type表示要比較的控件的數(shù)據(jù)類型;
  Operator表示比較操作(也就是剛才說的為什么比較不僅僅是"相等"的原因),這里,比較有7種方式;
  其他屬性和RequiredFieldValidator相同;
  在這里,要注意ControlToValidate和ControlToCompare的區(qū)別,如果operate為GreateThan,那么,必須ControlToCompare大于ControlToValidate才是合法的,這下,應該明白它們兩者的意義了吧?例子程序請參考RequiredFieldValidator控件,對照標準代碼自己設計。


  三:RangeValidator(范圍驗證)控件
  驗證輸入是否在一定范圍,范圍用MaximumValue(最大)和MinimunVlaue來確定,標準代碼如下:
<ASP:RangeValidator id="Vaidator_ID" Runat="Server"
controlToValidate="要驗證的控件ID"
type="Integer"
MinimumValue="最小值"
MaximumValue="最大值"
errorMessage="錯誤信息"
Display="Static Dymatic None"

占位符
</ASP:RangeValidator>
在以上代碼中:
    用MinimumValue和MaximumValue來界定控件輸入值得范圍,用type來定義控件輸入值的類型。
  四:RegularExpresionValidator(正則表達式)控件
  正則表達式驗證控件的功能非常強大,你可以自己容易構造驗證方式,我們先來看看標準代碼:
<ASP:RegularExpressionValidator id="Validator_ID" RunAt="Server"
ControlToValidate="要驗證控件名"
ValidationExpression="正則表達式"
errorMessage="錯誤信息"
display="Static"

占位符
</ASP:RegularExpressionValidator> 
在以上標準代碼中,ValidationExpression是重點,現(xiàn)在來看看它的構造:
  在ValidationExpression中,不同的字符表示不同的含義:
  "."表示任意字符;
  "*"表示和其他表達式一起,表示容易組合;
  "[A-Z]"表示任意大寫字母;
  "\d"表示容易一個數(shù)字;
  注意,在以上表達式中,引號不包括在內(nèi);
  舉例:
   正則表達式:".*[A-Z]"表示數(shù)字開頭的任意字符組合其后接一個大寫字母。
  五:ValidationSummary(驗證總結(jié))控件
  該控件收集本頁的所有驗證錯誤信息,并可以將它們組織以后再顯示出來。其標準代碼如下:
<ASP:ValidationSummary id="Validator_ID" RunAT="Server"
HeaderText="頭信息"
ShowSummary="True False"
DiaplayMode="List BulletList SingleParagraph"

</ASP: ValidationSummary > 
在以上標準代碼中,HeadText相當于表的HeadText,DisplayMode表示錯誤信息顯示方式:List相當于HTML中的<BR>;BulletList相當于HTML中的<LI>;SingleParegraph表示錯誤信息之間不作如何分割;
  六:CustomValidator(自定義驗證)控件]
  該控件用自定義的函數(shù)界定驗證方式,其標準代碼如下: 
<ASP:CustomValidator id="Validator_ID" RunAt="Server"
controlToValidate="要驗證的控件"
onServerValidateFunction="驗證函數(shù)"
errorMessage="錯誤信息"
Display="Static Dymatic None"

占位符
</ASP: CustomValidator >
以上代碼中,用戶必須定義一個函數(shù)來驗證輸入。