ASP.NET驗證控制元件祥解 (轉)
轉載自:chinaasp
是推出的下一代開發工具,其強大的功能立即吸引了一大批WEB開發者投入它的靡下。現在,我們來看看ASP.NET的驗證控制元件,感受ASP.NET的強大功能同時方便我們現在的WEB開發。
WEB開發者特別是ASP開發者,一直對資料驗證比較惱火,當你好不容易寫出資料提交的主體以後,還不得不花大把時間去驗證的每一個輸入是否合法。如果開發者熟悉script或者,可以用這些指令碼語言輕鬆實現驗證,但是又要考慮使用者是否支援這些指令碼語言;如果對這些不是很熟悉或者想支援所有使用者瀏覽器,就必須在ASP程式裡面驗證,但是這樣驗證就會增加負擔。現在,有了ASP.NET,你不但可以輕鬆的實現對使用者輸入的驗證,而且,還可以選擇驗證在伺服器端進行還是在客戶端進行,再也不必考慮那麼多了,程式設計師們可以將重要精力放在主程式的設計上了。
ASP.NET公有六種驗證控制元件,分別如下:
控制元件名 功能描敘
RequiredFieldValidator(必須欄位驗證) 用於檢查是否有輸入值
CompareValidator(比較驗證) 按設定比較兩個輸入
RangeValidator(範圍驗證) 輸入是否在指定範圍
RegularExpressionValidator(正則驗證) 正規表示式驗證控制元件
CustomValidator(自定義驗證) 自定義驗證控制元件
ValidationSummary(驗證總結) 總結驗證結果
下面,我們來看這些控制元件的使用
一: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">
*姓名必須輸入
</ASP:RequiredFieldValidator>
在以上例子中,檢查txtName控制元件是否有輸入,如果沒有,顯示錯誤資訊"姓名必須輸入"。是不是很簡單?
注意:以上程式碼和下面其他控制元件的程式碼最好放入Form中,和ASP中不一樣的是,Form最好寫為這樣:
<FoRunAt="Server">
其他程式碼
</Form>
這樣,Form在伺服器端,提交才會有效;
二: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控制元件,對照標準程式碼自己設計。
三: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是重點,現在來看看它的構造:
在ValidationExpression中,不同的字元表示不同的含義:
"."表示任意字元;
"*"表示和其他表示式一起,表示容易組合;
"[A-Z]"表示任意大寫字母;
"d"表示容易一個數字;
注意,在以上表示式中,引號不包括在內;
舉例:
正規表示式:".*[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 >
以上程式碼中,使用者必須定義一個函式來驗證輸入。
七:總結
ASP.NET驗證控制元件已經介紹完了,大家可以發現它們的功能很強大,再也不要為驗證而煩惱了。當然,以上介紹並不是特別詳細,細微的地方,還請大家自己閱讀微軟的SDK。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-984975/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASP.NET驗證控制元件的使用ASP.NET控制元件
- 驗證控制元件控制元件
- 資料驗證的asp.net程式 (轉)ASP.NET
- ASP.NET自定義驗證控制元件CustomValidator 的使用方法ASP.NET控制元件
- ASP.NET登入驗證ASP.NET
- asp.net驗證碼應用ASP.NET
- Asp.Net MVC 身份驗證-FormsASP.NETMVCORM
- ASP.NET MVC驗證碼演示ASP.NETMVC
- Asp.net MVC中表單驗證ASP.NETMVC
- ASP.Net WebService 身份驗證 FormsASP.NETWebORM
- Asp.net中基於Forms驗證的角色驗證授權ASP.NETORM
- asp.net 角色身份驗證的使用ASP.NET
- 【Hover】ASP.Net實現驗證碼!ASP.NET
- ASP.NET七大身份驗證方式及解決方案ASP.NET
- 驗證控制元件與正規表示式控制元件
- Javamail 中附件中文名字亂碼祥解 (轉)JavaAI
- [ASP.NET MVC 小牛之路]16 - Model 驗證ASP.NETMVC
- Asp.Net 中使用HttpModule 做Session驗證ASP.NETHTTPSession
- 也談Asp.net 中的身份驗證ASP.NET
- 建立ASP.NET WEB自定義控制元件(轉)ASP.NETWeb控制元件
- 自定義asp.net控制元件分析 (一) (轉)ASP.NET控制元件
- 自定義asp.net控制元件分析(二) (轉)ASP.NET控制元件
- 使用javascript 實現.net 驗證控制元件功能JavaScript控制元件
- ASP.NET學習手記:驗證使用者表單輸入 (轉)ASP.NET
- 在ASP.NET MVC中使用Knockout實踐06,自定義驗證、非同步驗證ASP.NETMVC非同步
- ASP.NET MVC學習之模型驗證篇ASP.NETMVC模型
- Asp.net(C#)實現驗證碼功能ASP.NETC#
- 在ASP.NET下實現數字和字元相混合的驗證碼 (轉)ASP.NET字元
- 防止重複提交與驗證控制元件配合使用控制元件
- 驗證使用者必選CheckBox控制元件控制元件
- 網站狀態驗證WebBrowser控制元件實現網站Web控制元件
- Oracle中的Hash Join祥解Oracle
- ASP.NET Core - 實現自定義WebApi模型驗證ASP.NETWebAPI模型
- ASP.NET MVC中使用FluentValidation驗證實體ASP.NETMVC
- 【asp.net core】自定義模型繫結及其驗證ASP.NET模型
- 【ASP.NET Core】使用最熟悉的Session驗證方案ASP.NETSession
- ASP.NET MVC許可權驗證 封裝類ASP.NETMVC封裝
- Oracle驗證方式詳解Oracle