65.9K
CodeProject 正在变化。 阅读更多。
Home

Hive 多验证自输入控件(最终版)

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.26/5 (17投票s)

2004年7月3日

7分钟阅读

viewsIcon

82521

downloadIcon

3090

将文本框、多重验证和响应标签组合在一个控件中。允许文本框进行自检和自错误响应消息。此控件具有特殊字符集属性,可防止 SQL 注入攻击和客户端脚本攻击。

Example

引言

本文演示了一个将文本框、多重验证和响应标签组合在一个控件中的控件。允许文本框进行自检和自错误响应消息。此控件具有特殊字符集属性,可防止 SQL 注入攻击和客户端脚本攻击。您还可以使用 `chars` 属性为您的控件指定自定义字符集。此控件还包括多种验证类型可供选择:`NONE`、`USERDEFINED`、`EMAIL`、`URL`、`ZIPCODE`、`PHONE`、`INTERNATIONALPHONE`、`DATE`、`ADVANCEDDATE`、`UKDATE`、`IPADDRESS`、`UKPOSTALCODE`、`SSN`、`CREDITCARD`、`PASSWORD`、`PERCENTAGE` 和 `GUID`。此控件还可以运行用户定义的验证类型。此控件还内置了范围验证、不良词语过滤、必填验证器和比较验证器。

语言

VB.NET 和 ASP.NET(献给所有 C# 程序员,你们赚得比 VB.NET 程序员多得多!!! :P~)

版本

1.0 - 最终版。

如何使用

将代码编译成 .NET DLL 程序集,并放入您的网站主目录(bin)文件夹。然后将以下代码添加到您的 ASP.NET 网页中

<%@ Register TagPrefix="Hive" NameSpace="Hive.Controls" Assembly="Hive"%>

然后在您的表单中添加 `textbox` 控件

<Hive:textbox id="textbox1" runat="server" req="True"/>
类名 描述

`Hive.Controls` - 命名空间

描述 - 复杂的自定义 `textbox` 用户控件。

HiveException 用于处理所有可能发生的 Hive 异常。
Inherits ApplicationException
文本框 Hive 多重验证自检文本框控件。
Inherits System.Web.UI.UserControl
Implements IValidator

 

属性
属性名称 类型 描述
控件验证属性
IsValid 布尔值 检查此控件是否有效并将其返回到页面验证中。
ErrorMessage 字符串 验证器验证的错误消息。
类型 ValidationMode 用于设置要执行的验证类型。(枚举:`ValidationMode`)验证类型 - `NONE` | `USERDEFINED` | `EMAIL` | `URL` | `ZIPCODE` | `PHONE` | `INTERNATIONALPHONE` | `DATE` | `ADVANCEDDATE` | `UKDATE` | `IPADDRESS` | `UKPOSTALCODE` | `SSN` | `CREDITCARD` | `PASSWORD` | `PERCENTAGE` | `GUID`
Compare CompareMode 用于设置文本框的比较模式类型。
RangeType RangeMode 用于设置 `MinimumValue` 和 `MaximumValue` 属性的范围类型。
MinimumValue 字符串 用于设置范围验证的起始参数。
MaximumValue 字符串 用于设置范围验证的结束参数。
CustomCharsError 字符串 用于设置自定义 `CharsetMode` 正则表达式错误消息。
CustomChars 字符串 用于设置自定义 `CharsetMode` 正则表达式。
CustomRegExp 字符串 用于为用户定义的 `ValidationMode` 设置自定义正则表达式。
CustomError 字符串 用于为用户定义的 `ValidationMode` 设置自定义错误消息。
CreditCardType 字符串 一个信用卡类型 ReadOnly 属性,属于 `CardType` 枚举。
BadWords 布尔值 用于测试文本框文本中是否有不良词语并返回错误。
Chars CharsetMode 用于设置文本框允许的字符类型。(枚举:`CharsetMode`)字符类型 - `NONE` | `USERDEFINED` | `ALL` | `NONHTML` | `NOQUOTES` | `NODOUBLEQUOTES` | `ALPHA` | `ALPHANUMERIC` | `NUMERIC`
Req 布尔值 检查文本框是否为必填字段。
最大值 整数 用于设置文本框的最大字符长度。
最小值 整数 用于设置文本框的最小字符长度。
扩展文本框控件属性
onSelect 字符串 用于设置文本框的 `onSelect` 属性。
onMouseUp 字符串 用于设置文本框的 `onMouseUp` 属性。
onMouseOver 字符串 用于设置文本框的 `onMouseOver` 属性。
onMouseOut 字符串 用于设置文本框的 `onMouseOut` 属性。
onMouseMove 字符串 用于设置文本框的 `onMouseMove` 属性。
onMouseDown 字符串 用于设置文本框的 `onMouseDown` 属性。
onKeyUp 字符串 用于设置文本框的 `onKeyUp` 属性。
onKeyPress 字符串 用于设置文本框的 `onKeyPress` 属性。
onKeyDown 字符串 用于设置文本框的 `onKeyDown` 属性。
onFocus 字符串 用于设置文本框的 `onFocus` 属性。
onDblClick 字符串 用于设置文本框的 `onDblClick` 属性。
onClick 字符串 用于设置文本框的 `onClick` 属性。
onChange 字符串 用于设置文本框的 `onChange` 属性。
onBlur 字符串 用于设置文本框的 `onBlur` 属性。
控件样式属性
Style1 字符串 用于设置文本框的 CSS 样式。
Style2 字符串 用于设置错误标签的 CSS 样式。
Style3 字符串 用于设置显示标签的 CSS 样式。
Style4 字符串 用于设置必填符号星号的 CSS 样式。
表格 布尔值 用于在文本框和标签周围创建表格的布尔属性。
ReqSymbol 布尔值 在文本框末尾添加星号。
Label 字符串 用于设置文本框控件的标签消息。
控件标准属性
宽度 整数 用于设置文本框的宽度。
高度 整数 用于设置文本框的高度。
ID 字符串 用于设置文本框的 ID。
ID2 字符串 用于设置比较文本框的 ID。
ReadOnly 布尔值 用于设置文本框的 ReadOnly 属性。
文本 字符串 用于设置文本框控件的文本值。
字符串 文本框控件的值。
TextMode TextBoxMode 用于设置文本框的文本模式。(枚举:`TextBoxMode`)模式类型 - `SINGLELINE` | `MULTILINE` | `PASSWORD`。
ProperName 字符串 用于为文本框控件设置一个正确的名称。
ProperName2 字符串 用于设置比较控件的正确名称。

 

枚举
枚举常量 描述

`CharsetMode` - 枚举

描述 - 允许的不同字符集类型的枚举。

不允许使用任何字符。
USERDEFINED 允许开发人员指定要使用的字符。
ALL 允许使用所有字符。
NONHTML 允许使用所有非 HTML 字符。
NOQUOTES 允许使用除引号外的所有字符。
NODOUBLEQUOTES 允许使用除双引号外的所有字符。
ALPHA 只允许使用所有字母字符。
ALPHANUMERIC 只允许使用所有字母数字字符。
NUMERIC 只允许使用所有数字字符。

`ValidationMode` - 枚举

描述 - 不同验证类型的枚举。

不允许任何验证类型。
USERDEFINED 允许开发人员指定自己的验证正则表达式类型。
EMAIL 允许电子邮件验证类型。
URL 允许 URL 验证类型。
ZIPCODE 允许邮政编码验证类型。
PHONE 允许电话号码验证类型。
INTERNATIONALPHONE 允许国际电话号码验证类型。
DATE 允许日期验证类型。
ADVANCEDDATE 允许高级日期验证类型。
UKDATE 允许英国日期验证类型。
IPADDRESS 允许 IP 地址验证类型。
UKPOSTALCODE 允许英国邮政编码验证类型。
社会保险号 允许社会安全号码验证类型。
CREDITCARD 允许信用卡验证类型。
密码 允许密码验证类型。
PERCENTAGE 允许百分比验证类型。
GUID 允许 GUID 验证类型。

`CompareMode` - 枚举

描述 - 不同比较模式类型的枚举。

不使用比较模式。
EQUAL 比较模式设置为相等。
CASEEQUAL 比较模式设置为区分大小写相等。
NOTEQUAL 比较模式设置为不相等。

`CardType` - 枚举

描述 - 不同信用卡类型的枚举。

未指定信用卡类型。
MASTERCARD 万事达卡类型。
VISA 维萨卡类型。
AMEX 美国运通卡类型。
DISCOVER 发现卡类型。
DINERSCLUB 大来卡类型。
ENROUTE EnRoute 卡类型。
JCB JCB 卡类型。

`RangeMode` - 枚举

描述 - 用于将范围属性设置为该类型的枚举。

将范围模式设置为无。
CURRENCY 将范围模式类型设置为货币。
DATE 将范围模式类型设置为 Date
DOUBLE 将范围模式类型设置为 Double
INTEGER 将范围模式类型设置为 Integer
STRING (字符串) 将范围模式类型设置为 String

结论

好了,我的 Hive 文本框控件终于完成了。感觉好像要花上一辈子的时间才能完成,至少是文档部分。

许可证

只要保留标题,即可自由使用和修改。用户还必须向作者的电子邮件地址发送电子邮件,说明他们正在何处使用该代码。如果对该程序集进行了任何修改,用户必须将更改通过电子邮件发送给作者的电子邮件地址。

使用、复制、分发和修改的条款和条件

本代码由版权所有者和贡献者“按原样”提供,不作任何明示或暗示的担保,包括但不限于适销性和特定用途适用性的暗示担保。在任何情况下,版权所有者贡献者均不对任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于采购替代商品或服务;使用、数据或利润损失;或业务中断)承担责任,无论其成因如何,以及基于任何责任理论,无论是合同、严格责任或侵权(包括疏忽或其他方式),即使已被告知此类损害的可能性。

© . All rights reserved.