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

ASP.NET 中的验证器控件

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.51/5 (33投票s)

2004年8月11日

CPOL

3分钟阅读

viewsIcon

163831

downloadIcon

1941

ASP.NET 中的验证器控件。

免责声明

此源代码由个人编写和维护,而非公司。已免费提供给 Microsoft .NET 用户社区,并期望用户采取一切必要措施使代码能够按其需求运行。这包括调试和增强。源代码按“原样”提供,不保证作品质量,也没有任何明示或暗示的协议表明程序员将发布任何更新。程序员将自行决定发布更新和提供任何支持。

引言

验证控件

这组控件为自动检查用户输入的指定有效性提供了快速应用程序开发 (RAD) 功能。这些控件在 System.Web.UI.WebControls 命名空间中可用。

在构建交互式 Web 应用程序时,最令人厌烦的任务之一是验证用户输入到输入控件中的值。特别是当我们需要执行客户端和服务器端验证时。大多数情况下,我们使用 JavaScript 进行客户端编码。ASP.NET 中包含的各种验证控件可以提供帮助。

它们几乎涵盖了所有验证场景。验证控件使我们能够验证输入并在必要时显示错误消息。它非常像其他服务器端控件,具有一些额外的​​方法和属性。首先,服务器将其视为一个不可见的控件。在用户输入错误数据后,它就会变得可见。这是一个强大的、快速的应用程序开发功能;但是,开发人员需要彻底了解其行为和方法,才能欣赏它。所有验证控件都继承自基类 BaseValidator,它是类库命名空间的一部分。System.Web.UI.WebControls.BaseValidator 暴露了一系列对所有验证控件通用的属性和方法。

RequiredFieldValidator(必需字段验证器):

<asp:RequiredFieldValidator>

检查验证的控件是否包含值。它不能为空。可以与其他控件上的验证器结合使用以捕获空值。简单来说,我们可以使用它来检查输入控件是否有任何值。RequiredFieldValidator 中最重要的属性是 InitialValue

<asp:RequiredFieldValidator id="validTxtName runat="server" 
controlToValidate="txtName" 
errorMessage="Name must be entered" display="static">
</asp:RequiredFieldValidator>

RegularExpressionValidator

<asp:RegularExpressionValidator>

根据正则表达式(模式)检查值。检查控件中的值是否与指定的正则表达式匹配。如果验证的控件为空,则不执行任何验证。RegularExpressionValidator 中最重要的属性是 ValidationExpression

<asp:RegularExpressionValidator id="regvH" 
runat="server" display="static" controlToValidate="txtH" 
errorMessage="Hours must be 1-3 digits only" 
validationExpression="\d{1,3}"> 

</asp:RegularExpressionValidator>
CompareValidator:

<asp:CompareValidator>

检查值是否与给定值或另一个控件的内容相比是否可接受。换句话说,它检查验证控件中的值是否与另一个控件中的值或特定值匹配。可以指定数据类型和比较操作。如果验证的控件为空,则不执行任何验证。CompareValidator 中最重要的属性是 ValueToCompareControlToCompareOperatortype

<asp:CompareValidator id="comvR" runat="server" display="static"
 controlToValidate="txtR" errorMessage="Rate must be numeric"
 type="Double" operator="DataTypeCheck"></asp:CompareValidator>

RangeValidator(范围验证器)

<asp:RangeValidator>

检查输入控件的值是否在指定范围内。换句话说,它检查验证控件中的值是否在指定的文本或数字范围内。如果验证的控件为空,则不执行任何验证。RangeValidator 中最重要的属性是 MaximumValueMinimumValuetype

<asp:RangeValidator id="ranvDependents" runat="server"
 display="static" controlToValidate="txtDependents"
 errorMessage="Must be from 0 to 10"
 type="Integer" minimumValue=0 maximumValue=10>
</asp:RangeValidator>

CustomValidator(自定义验证器)

<asp:CustomValidator>

允许您开发自定义验证。使用指定的函数(客户端、服务器端或两者)对输入控件执行用户定义的验证。如果验证的控件为空,则不执行任何验证。CustomValidator 中最重要的属性是 ClientValidationFunction

<asp:CustomValidator id="cusvDeptNum" runat="server" 
 display="static" controlToValidate="txtDeptNum"
 onServerValidate="validateDeptNum"
 errorMessage="Must be in multiples of 10" >
</asp:CustomValidator>

VBScript 示例

Sub validateDeptNum(source As Object, s as ServerValidateEventArgs)
  If (CInt(s.Value) Mod 10)=0 Then
     s.IsValid= True
   Else
     s.IsValid=False
   End If
End Sub

JavaScript 示例

function validateLength(oSrc, args)
{
    args.IsValid = (args.Value.length >= 10);
}

ValidationSummary

<asp:ValidationSummary>

显示所有当前验证错误的摘要。换句话说,报告所有错误的摘要。ValidationSummary 中最重要的属性是 DisplayModeShowHeaderTextShowMessageBoxShowSummary

<asp:ValidationSummary id="valSummary" runat="server"
 headerText="Please correct the following errors"
 display="static" showSummary= "True" />

好的,有关验证器控件的更多信息,请联系:vivekthnagswamy@rediffmail.com

© . All rights reserved.