创建自定义验证控件(1)
生活随笔
收集整理的這篇文章主要介紹了
创建自定义验证控件(1)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
寫一個創建自定義的控件的文章。幫大家了解如何寫自定義驗證控件。
首先寫個簡單的,長度驗證控件,大家在寫用戶注冊的時候,很多時候需要驗證用戶密碼長度在多少到多少之間。
我們通過從BaseValidator類派生一個新的控件來創建新的驗證控件。如名字所提示,BaseValidator類是所有驗證控件的基類,BaseValidator類是一個抽象(abstract)類,他要求子類必須實現一個方法:
EvaluateIsValid()---------當被檢驗表單字段通過驗證時返回True。
BaseValidator類也包含一些其他的方法,可以重寫(override)或作別的用途。其中最有用的是:
GetControlValidationValue()---------用于獲取被驗證控件的值
創建自定義控件時要重寫EvaluateIsValid()方法,并在EvaluateIsValid()方法中調用GetControlValidationValue()來獲取被驗證的表單字段的值
下面是我寫的一個小DEMO。
判斷長度驗證控件類
Code?1using?System;
?2using?System.Web.UI;
?3using?System.Web.UI.WebControls;
?4
?5/**////?<summary>
?6///ValidatorControls?的摘要說明
?7///用于驗證最大長度
?8///by?mFrog
?9///2008,11,13
10///?</summary>
11
12namespace?myControls
13{
14????public?class?LengthValidator?:?BaseValidator//繼承驗證控件類
15????{
16????????int?_maxnumlength?=?0;
17????????int?_minnumlength?=?0;
18????????public?int?Maxnumlength
19????????{
20????????????get?{?return?_maxnumlength;?}
21????????????set?{?_maxnumlength?=?value;?}
22????????}
23
24????????public?int?Minnumlength
25????????{
26????????????get?{?return?_minnumlength;?}
27????????????set?{?_minnumlength?=?value;?}
28????????}
29????????//重寫EvaluateIsValid()方法
30????????protected?override?bool?EvaluateIsValid()
31????????{
32????????????string?value?=?this.GetControlValidationValue(this.ControlToValidate);
33????????????if?(value.Length?>?_maxnumlength?||?value.Length?<?_minnumlength)
34????????????{
35????????????????return?false;
36????????????}
37????????????else
38????????????{
39????????????????return?true;
40????????????}
41????????}
42????}
43}
44
?
頁面代碼
?
Code?1<%@?Page?Language="C#"?AutoEventWireup="true"?CodeFile="Default.aspx.cs"?Inherits="_Default"?%>
?2
?3<%@?Register?TagPrefix="mFrog"?Namespace="myControls"?%>
?4<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
?5<html?xmlns="http://www.w3.org/1999/xhtml">
?6<head?runat="server">
?7????<title>最大長度驗證控件</title>
?8</head>
?9<body>
10????<form?id="form1"?runat="server">
11????<div>
12????????<asp:Label?ID="lblValidator"?runat="server"?Text="驗證"?/>
13????????<br?/>
14????????<asp:TextBox?ID="txtComments"?runat="server"?TextMode="MultiLine"?Columns="50"?Rows="5"?/>
15????????<mFrog:LengthValidator?ID="mlvComments"?ControlToValidate="txtComments"?Text="長度必須在6到20之間"
16????????????Maxnumlength="20"??Minnumlength="6"?runat="server"?/>
17????????<br?/>
18????????<br?/>
19????????<asp:Button?ID="btnSubmit"?runat="server"?Text="提交"?/>
20????</div>
21????</form>
22</body>
23</html>
24
?
效果截圖
?
就到這,下篇我會寫比較復雜的驗證控件,來和大家一起學習
?
轉載于:https://www.cnblogs.com/mFrog/archive/2008/11/13/1333151.html
總結
以上是生活随笔為你收集整理的创建自定义验证控件(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海贼王燃烧意志抽卡技巧
- 下一篇: 环保招贴设计教案一等奖