现在ASP.NET,你不但可以轻松的实现对用户输入的验证,而且,还可以选择验证在服务器端进行还是在客户端进行,再也不必考虑那么多了,程序员们可以将重要精力放在主程序的设计上了。
ASP.NET公有六种验证控件,分别如下:
控件名           功能描叙
RequiredFieldValidator(必须字段验证) 用于检查是否有输入值
CompareValidator(比较验证) 按设定比较两个输入
RangeValidator(范围验证) 输入是否在指定范围
RegularExpressionValidator(正则表达式验证) 正则表达式验证控件
CustomValidator(自定义验证) 自定义验证控件
ValidationSummary(验证总结) 总结验证结果
下面,我们来看这些控件的使用:
自定义控件的例子:
例子:
<asp:CustomValidator
        id="valComments"
        ControlToValidate="txtComments"
        Text="(Comments must be less than 10 characters)"
        OnServerValidate="valComments_ServerValidate"
        Runat="server" />

ControlToValidate Text ClientValidationFunction 事件ServerValidate

void valComments_ServerValidate(Object source, ServerValidateEventArgs args)
    {
        if (args.Value.Length > 10)
            args.IsValid = false;
        else
            args.IsValid = true;
    }

ServerValidate event handler 是erverValidateEventArgs 类的实例. 拥有Value IsValid ValidateEmptyText(空值时是否验证)属性
只用服务器端的验证事件而没有客户端的话,必须提交了才知道错误,不能在提交前显示错误信息。
用可客户端验证的话,可能会在mouseout,change时进行验证并显示错误在页面上。
    function valComments_ClientValidate(source, args)
    {
        if (args.Value.length > 10)
            args.IsValid = false;
        else
            args.IsValid = true;
    }
与其它验证控件不同的是,CustomValidator可以在输入为空值时决定是否验证。alidateEmptyText="true",默认为false,即为空时不验证(此时跟其它控件是一样的都不验证)。
与其它验证控件不同的是,CustomValidator可以不绑定到某一表单控件,即ControlToValidate属性不是必须的。
一、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最好写为这样:
<Form RunAt="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 >
以上代码中,用户必须定义一个函数来验证输入。

转载于:https://www.cnblogs.com/173199732/archive/2008/08/04/1260414.html

asp.net验证空间详说相关推荐

  1. 【转】ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证)...

    [转]ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证) ASP.NET验证控件详解 现在ASP.NET,你不但可以轻松的实现对用户输入的验证,而且,还可以选择验证在服 ...

  2. ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) (转载)

    ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) 收藏 转自:http://www.aspxclub.com/l12/c_3689.html 本篇文章介绍了在ASP ...

  3. ASP.NET验证控件详细使用解释

    ASP.NET是微软推出的下一代WEB开发工具,其强大的功能立即吸引了一大批WEB开发者投入它的靡下.现在,我们来看看ASP.NET的验证控件,感受ASP.NET的强大功能同时方便我们现在的WEB开发 ...

  4. ASP.NET验证控件之RequiredFieldValidator

    相信有过ASP.NET编程经验的人对RequiredFieldValidator都不会感到陌生吧.该控件的作用是禁止输入规定的内容(即属性InitialValue的值,该属性默认值为空字符串,我们经常 ...

  5. ASP.NET 运行时详解 揭开请求过程神秘面纱

    对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛开乌云见晴天,接下来就 ...

  6. asp.net 验证正则表达式

    asp.net 验证正则表达式 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n} ...

  7. jQuery Validate验证框架详解

    2019独角兽企业重金招聘Python工程师标准>>> 一.导入js库 <script type="text/javascript" src="& ...

  8. php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解

    微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...

  9. ASP.NET页面事件详解

    ASP.NET页面事件详解 ASP.NET页面事件详解 1.Page_Init()事件 当页面初始化时发生此事件.可以利用Page_Init()将该事件与要在.NET页面上显示控件之前的运行的代码建立 ...

最新文章

  1. App开放接口api安全:Token签名sign的设计与实现
  2. 独立成分分析ICA系列5:信息极大化的 ICA 算法
  3. AspectJ在Android中使用(AOP)
  4. 100行Python代码的贪吃蛇
  5. Eclipse中servlet显示无法导入javax.servlet包问题的解决方案
  6. 编译安装nginx并修改版本头信息—参考实例
  7. 学习自己动手设计数据库
  8. 硬盘整数大小分区问题
  9. Machine Learning(机械学习)
  10. 把rmvb格式转化为avi格式
  11. Swagger导出pdf文档
  12. java实现阿里云短信验证
  13. Unity3d:UGUI,UI与特效粒子层级,2018.2以上版本BakeMesh,粒子在两个Image之间且在ScrollView
  14. Vue:把组件作为自定义元素来使用以及Identifier ' simple_couter' is not in camel case问题解决
  15. 【超分辨率】VDSR论文笔记
  16. 关于5G NR PRACH小区半径的计算
  17. Spatial Attention
  18. 【数据结构】第15-16周练习题 查找排序
  19. draco压缩引擎学习笔记(一)
  20. 解决:Win10 显示无法连接到Internet,但是还能上网

热门文章

  1. python面试问题_Python面试问题
  2. kotlin密封类_Kotlin密封级
  3. 想要学习C++,到底能从事哪种行业?
  4. 如何从零构建你的自动化运维体系?——从制度到技术
  5. Java定时任务工具详解之Timer篇
  6. web网页 页面布局的几种方式(转)
  7. kvm虚拟机vnc和spice配置
  8. 销售易CRM:提高管理效率需做好业绩预测
  9. iOS6和iOS7适应代码(6) —— NSLocalizedString
  10. mysql5.6主从复制与基于amoeba实现读写分离