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

來源:互聯網
上載者:User

  RequiredFieldValidator (必須欄位驗證) 用於檢查是否有輸入值  

  CompareValidator (比較驗證) 按設定比較兩個輸入  

  RangeValidator (範圍驗證) 輸入是否在指定範圍  

  RegularExpressionValidator (Regex驗證) Regex驗證控制項  

  CustomValidator (自訂驗證) 自訂驗證控制項  

  ValidationSummary (驗證總結) 總結驗證結果  

  下面介紹一下這些控制項的使用方法

  一、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 表示要比較的控制項的資料類型; 

  Operator 表示比較操作(也就是剛才說的為什麼比較不僅僅是" 相等" 的原因),這裡,比較有7 種方式; 

  其他屬性和RequiredFieldValidator 相同; 

  在這裡,要注意ControlToValidate 和ControlToCompare 的區別,如果operate 為 GreateThan ,那麼,必須ControlToCompare 大於ControlToValidate 才是合法的,這下,應該明白它們兩者的 意義了吧?例子程式請參考RequiredFieldValidator 控制項,對照標準代碼自己設計。

  二、RequiredFieldValidator (必須欄位驗證)的使用 

  RequiredFieldValidator 控制項使用的標準代碼如下: 

  <ASP:RequiredFieldValidator id="Validator_Name" Runat="Server"   ControlToValidate=" 要檢查的控制項名" ErrorMessage=" 出錯資訊"  Display="Static|Dymatic|None"> 

  預留位置 

  </ASP: RequiredFieldValidator > 

  在以上標準代碼中: 

  ControlToValidate :表示要進行檢查控制項ID ; 

  ErrorMessage :表示當檢查不合法時,出現的錯誤資訊; 

  Display :錯誤資訊的顯示方式;Static 表示控制項的錯誤資訊在頁面中佔有肯定位置;Dymatic 表示控制項錯誤資訊出現時才佔用頁面控制項;None 表示錯誤出現時不顯示,但是可以在ValidatorSummary 中顯示; 

  預留位置:表示Display 為Static 時,錯誤資訊佔有" 預留位置" 那麼大的頁面空間; 

  現在,讓我們看一個執行個體:  

  <ASP:TextBox id="txtName" RunAt="Server"/> 

  <ASP:RequiredFieldValidator id="Validator1" Runat="Server"  ControlToValidate="txtName"  ErrorMessage=" 姓名必須輸入"  Display="Static"& gt; 

  * 姓名必須輸入 

  </ASP:RequiredFieldValidator>  

  在以上例子中,檢查txtName 控制項是否有輸入,如果沒有,顯示錯誤資訊" 姓名必須輸入" 。是不是很簡單? 

  注意:以上代碼和下面其他控制項的代碼最好放入Form 中,和ASP 中不一樣的是,Form 最好寫為這樣: 

  <Form RunAt="Server"> 

  其他代碼 

  </Form> 這樣,Form 在伺服器端執行,提交才會有效; 

  三、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 (Regex)控制項 

  Regex驗證控制項的功能非常強大,你可以自己容易構造驗證方式,我們先來看看標準代碼: 

  <ASP:RegularExpressionValidator id="Validator_ID" RunAt="Server"  ControlToValidate=" 要驗證控制項名" ValidationExpression=" Regex"  errorMessage=" 錯誤資訊" display="Static"> 

  預留位置 

  </ASP:RegularExpressionValidator> 

  在以上標準代碼中,ValidationExpression 是重點,現在來看看它的構造: 

  在ValidationExpression 中,不同的字元表示不同的含義: 

  "." 表示任一字元; 

  "*" 表示和其他運算式一起,表示容易組合; 

  "[A-Z]" 表示任意大寫字母; 

  "d" 表示容易一個數字; 

  注意,在以上運算式中,引號不包括在內;  

  舉例:  

   Regex:".*[A-Z]" 表示數字開頭的任一字元組合其後接一個大寫字母。 

  五、ValidationSummary (驗證總結)控制項 

  該控制項收集本頁的所有驗證錯誤資訊,並可以將它們組織以後再顯示出來。其標準代碼如下: 

  <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 (自訂驗證)控制項 

  該控制項用自訂的函數界定驗證方式,其標準代碼如下: 

  <ASP:CustomValidator id="Validator_ID" RunAt="Server"  controlToValidate=" 要驗證的控制項" onServerValidateFunction=" 驗證函式"  errorMessage=" 錯誤資訊" Display="Static|Dymatic|None"> 預留位置</ASP:  CustomValidator > 

  以上代碼中,使用者必須定義一個函數來驗證輸入

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.