主營(yíng)業(yè)務(wù):網(wǎng)站制作 網(wǎng)站優(yōu)化 小程序制作 石家莊網(wǎng)站制作網(wǎng)站建設(shè)有限公司歡迎您!
石家莊閃云網(wǎng)絡(luò)科技有限公司
客服熱線(xiàn)15383239821
如何讓自己的網(wǎng)站更有質(zhì)量?

.Net驗(yàn)證控件1

發(fā)布時(shí)間:2010/9/3 15:58:33

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

ASP.NET公有六種驗(yàn)證控件,分別如下: 

 


控件名 功能描敘
RequiredFieldValidator(必須字段驗(yàn)證) 用于檢查是否有輸入值
Comparidator(比較驗(yàn)證) 按設(shè)定比較兩個(gè)輸入
Rangidator(范圍驗(yàn)證) 輸入是否在指定范圍
Regularexpression_rValidator(正則表達(dá)式驗(yàn)證) 正則表達(dá)式驗(yàn)證控件
CustomValidator(自定義驗(yàn)證) 自定義驗(yàn)證控件
ValidationSummary(驗(yàn)證總結(jié)) 總結(jié)驗(yàn)證結(jié)果

 


下面,我們來(lái)看這些控件的使用
  一:RequiredFieldValidator(必須字段驗(yàn)證)的使用
  RequiredFieldValidator控件使用的標(biāo)準(zhǔn)代碼如下:
<ASP:RequiredFieldValidator id="Validator_Name" Runat="Server"
   ControlToValidate="要檢查的控件名"
   ErrorMessage="出錯(cuò)信息"
   Display="Static|Dymatic|None"
?。?br />  占位符
</ASP: RequiredFieldValidator >

 


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

 


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

 


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

 


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

占位符
</ASP:Comparidator>

 


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

 


  三:Rangidator(范圍驗(yàn)證)控件
  驗(yàn)證輸入是否在一定范圍,范圍用MaximumValue(最大)和MinimunVlaue來(lái)確定,標(biāo)準(zhǔn)代碼如下:
<ASP:Rangidator id="Vaidator_ID" Runat="Server"
controlToValidate="要驗(yàn)證的控件ID"
type="Integer"
MinimumValue="最小值"
MaximumValue="最大值"
errorMessage="錯(cuò)誤信息"
Display="Static|Dymatic|None"

占位符
</ASP:Rangidator>
在以上代碼中:
    用MinimumValue和MaximumValue來(lái)界定控件輸入值得范圍,用type來(lái)定義控件輸入值的類(lèi)型。
  四:RegularExpresionValidator(正則表達(dá)式)控件
  正則表達(dá)式驗(yàn)證控件的功能非常強(qiáng)大,你可以自己容易構(gòu)造驗(yàn)證方式,我們先來(lái)看看標(biāo)準(zhǔn)代碼:
<ASP:Regularexpression_rValidator id="Validator_ID" RunAt="Server"
ControlToValidate="要驗(yàn)證控件名"
Validationexpression_r="正則表達(dá)式"
errorMessage="錯(cuò)誤信息"
display="Static"

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

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

占位符
</ASP: CustomValidator >
以上代碼中,用戶(hù)必須定義一個(gè)函數(shù)來(lái)驗(yàn)證輸入。

相關(guān)新聞推薦

在線(xiàn)客服 : 服務(wù)熱線(xiàn):15383239821 電子郵箱: 27535611@qq.com

公司地址:石家莊市新華區(qū)九中街江西大廈4062

備案號(hào):冀ICP備2022000585號(hào)-4