ASP.NET常用6種驗證控件介紹

字號:


    RequiredFieldValidator(必須字段驗證)用于檢查是否有輸入值
    CompareValidator(比較驗證)按設(shè)定比較兩個輸入
    RangeValidator(范圍驗證)輸入是否在指定范圍
    RegularExpressionValidator(正則表達式驗證)正則表達式驗證控件
    CustomValidator(自定義驗證)自定義驗證控件
    ValidationSummary(驗證總結(jié))總結(jié)驗證結(jié)果
    下面介紹一下這些控件的使用方法
    一、CompareValidator(比較驗證)控件
    比較控件比較兩個控件的輸入是否符合程序設(shè)定,大家不要把比較僅僅理解為"相等",盡管相等是用的最多的,其實,這里的比較包括范圍很廣,大家看標(biāo)準(zhǔn)代碼就會明白。
    比較控件的標(biāo)準(zhǔn)代碼如下:
    <ASP:CompareValidatorid="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>
    在以上標(biāo)準(zhǔn)代碼中:
    Type表示要比較的控件的數(shù)據(jù)類型;
    Operator表示比較操作(也就是剛才說的為什么比較不僅僅是"相等"的原因),這里,比較有7種方式;
    其他屬性和RequiredFieldValidator相同;
    在這里,要注意ControlToValidate和ControlToCompare的區(qū)別,如果operate為 GreateThan,那么,必須ControlToCompare大于ControlToValidate才是合法的,這下,應(yīng)該明白它們兩者的 意義了吧?例子程序請參考RequiredFieldValidator控件,對照標(biāo)準(zhǔn)代碼自己設(shè)計。
    二、RequiredFieldValidator(必須字段驗證)的使用
    RequiredFieldValidator控件使用的標(biāo)準(zhǔn)代碼如下:
    <ASP:RequiredFieldValidatorid="Validator_Name"Runat="Server" ControlToValidate="要檢查的控件名"ErrorMessage="出錯信息" Display="Static|Dymatic|None">
    占位符
    </ASP:RequiredFieldValidator>
    在以上標(biāo)準(zhǔn)代碼中:
    ControlToValidate:表示要進行檢查控件ID;
    ErrorMessage:表示當(dāng)檢查不合法時,出現(xiàn)的錯誤信息;
    Display:錯誤信息的顯示方式;Static表示控件的錯誤信息在頁面中占有肯定位置;Dymatic表示控件錯誤信息出現(xiàn)時才占用頁面控件;None表示錯誤出現(xiàn)時不顯示,但是可以在ValidatorSummary中顯示;
    占位符:表示Display為Static時,錯誤信息占有"占位符"那么大的頁面空間;
    現(xiàn)在,讓我們看一個實例:
    <ASP:TextBoxid="txtName"RunAt="Server"/>
    <ASP:RequiredFieldValidatorid="Validator1"Runat="Server" ControlToValidate="txtName"ErrorMessage="姓名必須輸入"Display="Static"& gt;
    *姓名必須輸入
    </ASP:RequiredFieldValidator>
    在以上例子中,檢查txtName控件是否有輸入,如果沒有,顯示錯誤信息"姓名必須輸入"。是不是很簡單?
    注意:以上代碼和下面其他控件的代碼最好放入Form中,和ASP中不一樣的是,F(xiàn)orm最好寫為這樣:
    <FormRunAt="Server">
    其他代碼
    </Form>這樣,F(xiàn)orm在服務(wù)器端執(zhí)行,提交才會有效;
    三、RangeValidator(范圍驗證)控件
    驗證輸入是否在一定范圍,范圍用MaximumValue(最大)和MinimunVlaue來確定,標(biāo)準(zhǔn)代碼如下:
    <ASP:RangeValidatorid="Vaidator_ID"Runat="Server" controlToValidate="要驗證的控件ID"type="Integer"MinimumValue="最小值" MaximumValue="最大值"errorMessage="錯誤信息" Display="Static|Dymatic|None">
    占位符
    </ASP:RangeValidator>
    在以上代碼中:
    用MinimumValue和MaximumValue來界定控件輸入值得范圍,用type來定義控件輸入值的類型。
    四、RegularExpresionValidator(正則表達式)控件
    正則表達式驗證控件的功能非常強大,你可以自己容易構(gòu)造驗證方式,我們先來看看標(biāo)準(zhǔn)代碼:
    <ASP:RegularExpressionValidatorid="Validator_ID"RunAt="Server" ControlToValidate="要驗證控件名"ValidationExpression="正則表達式" errorMessage="錯誤信息"display="Static">
    占位符
    </ASP:RegularExpressionValidator>
    在以上標(biāo)準(zhǔn)代碼中,ValidationExpression是重點,現(xiàn)在來看看它的構(gòu)造:
    在ValidationExpression中,不同的字符表示不同的含義:
    "."表示任意字符;
    "*"表示和其他表達式一起,表示容易組合;
    "[A-Z]"表示任意大寫字母;
    "d"表示容易一個數(shù)字;
    注意,在以上表達式中,引號不包括在內(nèi);
    舉例:
    正則表達式:".*[A-Z]"表示數(shù)字開頭的任意字符組合其后接一個大寫字母。
    五、ValidationSummary(驗證總結(jié))控件
    該控件收集本頁的所有驗證錯誤信息,并可以將它們組織以后再顯示出來。其標(biāo)準(zhǔn)代碼如下:
    <ASP:ValidationSummaryid="Validator_ID"RunAT="Server" HeaderText="頭信息"ShowSummary="True|False" DiaplayMode="List|BulletList|SingleParagraph">
    </ASP:ValidationSummary>
    在以上標(biāo)準(zhǔn)代碼中,HeadText相當(dāng)于表的HeadText,DisplayMode表示錯誤信息顯示方式:List相當(dāng)于 HTML中的<BR>;BulletList相當(dāng)于HTML中的<LI>;SingleParegraph表示錯誤 信息之間不作如何分割;
    六、CustomValidator(自定義驗證)控件
    該控件用自定義的函數(shù)界定驗證方式,其標(biāo)準(zhǔn)代碼如下:
    <ASP:CustomValidatorid="Validator_ID"RunAt="Server" controlToValidate="要驗證的控件"onServerValidateFunction="驗證函數(shù)" errorMessage="錯誤信息"Display="Static|Dymatic|None">占位符</ASP: CustomValidator>
    以上代碼中,用戶必須定義一個函數(shù)來驗證輸入