ASP.NET中验证控件的使用

简介: 原文:ASP.NET中验证控件的使用前言:    前几日,无奈用JS判断控件的有效性,发现的确是一件费力、费神的事情!特别是针对邮件格式、邮政编码等的关于正则表达式的JS验证(其中涉及正则表达式的比较等,较烦~)。
原文: ASP.NET中验证控件的使用

前言:

    前几日,无奈用JS判断控件的有效性,发现的确是一件费力、费神的事情!特别是针对邮件格式、邮政编码等的关于正则表达式的JS验证(其中涉及正则表达式的比较等,较烦~)。其实对于这些常用的控件有效性验证,在Asp.Net中有单独的验证控件可供使用。他们可以满足一般的,诸如非空,范围、比较等的验证。

 

验证控件:

   Asp.Net中内置的验证控件有:RequiredFieldValidation、RangeValidation、RegularExpressValidation、CompareValidation、CustomValidation和ValidationSummary等六种。其中用户自定义验证控件,由于并不非常常用(要自定义很多成分,包括函数等),在此文不予论述。

   简单的验证界面如下(Design视图):

 

 

 

 如图展示了选取环境,右边红色字体为验证控件的ErrorMessage信息。设计的环境布置如下:

1) RequiredFieldValidation控件,其ControlToValidate属性为姓名对应文本框。对于ControlToValidate属性,每一个验证控件均对应一个,作为验证的主体;

2)RangeValidation控件, 其ControlToValidate属性为年龄对应文本框;

3) CompareValidation控件, 其ControlToValidate属性为密码确认对应文本框。同时还有一个容易和ControlToValidate属性相混淆的属性:ControlToCompare属性,其对应密码对应文本框。区分:的要点即是分清主体,此时验证的主体是密码确认对应框,在用operator时(等于、大于、小于),是比较的主体,和被比较的文本框相比较,这里即是密码对应文本框。

4)RegularExpressValidation控件, 其ControlToValidate属性为邮箱对应文本框;

5) ValidationSummary控件,它不具备ControlToValidate属性;

 

其对应的前台代码为:

< head  runat ="server" >
    
< title > 验证控件的演示页面 </ title >
    
< script  type  ="text/javascript"   >
    
//  Description: 通过逐个演示验证控件的使用,作为复习

   
//  CopyRight: http://www.cnblogs.com/yangmingming

   
//  Notes: 采用一张模拟用户表的例子验证
    </ script >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
       姓名: 
< asp:TextBox  ID ="txtRequiredField"  runat ="server" ></ asp:TextBox >
        
< asp:RequiredFieldValidator  ID ="RequiredFieldValidator1"  runat ="server"  
            ErrorMessage
="姓名不能为空!"  ControlToValidate ="txtRequiredField" ></ asp:RequiredFieldValidator >
            
< br />
            年龄:
< asp:TextBox  ID ="txtRange"  runat ="server" ></ asp:TextBox >
        
< asp:RangeValidator  ID ="RangeValidator1"  runat ="server"  
            ErrorMessage
="年龄不在规定范围内!"  ControlToValidate ="txtRange"  MaximumValue ="100"  
            MinimumValue
="0"  Type ="Integer" ></ asp:RangeValidator >
        
< br  />
        密码:
< asp:TextBox  ID ="txtPassword"  runat ="server" ></ asp:TextBox >
        
< br  />
        密码确认:
< asp:TextBox  ID ="txtPasswordConfirm"  runat ="server" ></ asp:TextBox >
        
< asp:CompareValidator  ID ="CompareValidator1"  runat ="server"  
            ErrorMessage
="密码前后输入,不一致!"  ControlToCompare ="txtPassword"  
            ControlToValidate
="txtPasswordConfirm" ></ asp:CompareValidator >
            
< br  />
            邮箱:
< asp:TextBox  ID ="txtMail"  runat ="server" ></ asp:TextBox >
        
< asp:RegularExpressionValidator  ID ="RegularExpressionValidator1"  runat ="server"  
            ErrorMessage
="邮箱格式不符!"  ControlToValidate ="txtMail"  
            ValidationExpression
="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ></ asp:RegularExpressionValidator >
        
< br  />
        
< asp:ValidationSummary  ID ="ValidationSummary1"  runat ="server"  
            HeaderText
="验证信息汇总"   />
         
< br  />    
        
< asp:Button  ID ="btnSubmit"  runat ="server"  Text ="提交"  onclick ="btnSubmit_Click"   />  
    
</ div >
    
</ form >
</ body >
</ html >


当文本框的输入不符时,出现界面为:

 

 附:

      对于所有RequiredFieldValidation控件,当其只针对姓名框时,当其余框为空时,它们对应的验证控件均失效。 可以认为除RequiredFieldValidation控件,其余控件都要在此控件基础上才能起作用。

 

 

   综述之,把验证控件的使用综合起来,演示各个验证控件的使用方法,为以后的验证控件使用做一复习,呵呵~

 

 

 

 

 

 

目录
相关文章
|
4月前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
52 8
|
2月前
|
开发者 Windows
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
2月前
|
C# Android开发 iOS开发
一组.NET MAUI绘制的开源控件 - AlohaKit
一组.NET MAUI绘制的开源控件 - AlohaKit
|
3月前
|
开发框架 JavaScript 前端开发
|
6月前
|
机器学习/深度学习 JSON 测试技术
CNN依旧能战:nnU-Net团队新研究揭示医学图像分割的验证误区,设定先进的验证标准与基线模型
在3D医学图像分割领域,尽管出现了多种新架构和方法,但大多未能超越2018年nnU-Net基准。研究发现,许多新方法的优越性未经严格验证,揭示了验证方法的不严谨性。作者通过系统基准测试评估了CNN、Transformer和Mamba等方法,强调了配置和硬件资源的重要性,并更新了nnU-Net基线以适应不同条件。论文呼吁加强科学验证,以确保真实性能提升。通过nnU-Net的变体和新方法的比较,显示经典CNN方法在某些情况下仍优于理论上的先进方法。研究提供了新的标准化基线模型,以促进更严谨的性能评估。
175 0
|
5月前
|
开发框架 JSON .NET
|
6月前
|
JSON 数据格式 微服务
.NET下 支持大小写不敏感的JSON Schema验证方法
有很多应用程序在验证JSON数据的时候用到了JSON Schema。 在微服务架构下,有时候各个微服务由于各种历史原因,它们所生成的数据对JSON Object属性名的大小写规则可能并不统一,它们需要消费的JSON数据的属性名可能需要大小写无关。 遗憾的是,目前的JSON Schema没有这方面的标准,标准中都是大小写敏感的。在类似上述情况下,这给使用JSON Schema进行数据验证造成了困难。
|
7月前
|
SQL 开发框架 JavaScript
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
96 0
|
7月前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
86 0
下一篇
DataWorks