现在ASP.NET,你不但可以轻松的实现对用户输入的验证,而且,还可以选择验证在服务器端进行还是在客户端进行,再也不必考虑那么多了,程序员们可以将重要精力放在主程序的设计上了。

ASP.NET公有六种验证控件,分别如下:

控件名           功能描叙  RequiredFieldValidator(必须字段验证) 用于检查是否有输入值  CompareValidator(比较验证) 按设定比较两个输入  RangeValidator(范围验证) 输入是否在指定范围  RegularExpressionValidator(正则表达式验证) 正则表达式验证控件  CustomValidator(自定义验证) 自定义验证控件  ValidationSummary(验证总结) 总结验证结果

下面,我们来看这些控件的使用:

一、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 >

以上代码中,用户必须定义一个函数来验证输入。

七、总结 ASP.NET验证控件已经介绍完了,大家可以发现它们的功能很强大,再也不要为验证而烦恼了。当然,以上介绍并不是特别详细,细微的地方,还请大家自己阅读微软的SDK。

ASP.NET验证控件详解的更多相关文章

  1. IOS—UITextFiled控件详解

    IOS—UITextFiled控件详解 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGR ...

  2. ASP.Net 验证控件 RequiredFieldValidator

    使用 ASP.NET 验证控件可在网页上检查用户输入.有用于各种不同类型验证的控件,例如范围检查或模式匹配验证控件.每个验证控件都引用网页上其他位置的输入控件(服务器控件).当处理用户输入时(例如,当 ...

  3. 为人们服务的asp.net 验证控件

    ASP.NET是微软推出的WEB开发工具,他有很强大的功能,今天看视频讲到验证控件这一部分,真的感受到了微软全心全意为人民服务了.越来越佩服微软了,人家都设计出来了,咱们一定要会用才可以啊,不然太…. ...

  4. picker控件详解与使用,(实现省市的二级联动)

    picker控件详解与使用,(实现省市的二级联动) 第一步:新建一个单视图(single view)的工程, 命名为pickerTest,不要勾选下面两个选项,第一个是新版本里面的,第二个是单元测试, ...

  5. Switch控件详解

    Switch控件详解 原生效果 5.x 4.x 布局 <Switch android:id="@+id/setting_switch" android:layout_widt ...

  6. ToolBar控件详解

    ToolBar控件详解 在Activity中添加ToolBar 1.添加库 dependencies { ... compile "com.android.support:appcompat ...

  7. Spinner控件详解

    Spinner控件详解 效果图 修改Spinner样式 在介绍之前,先看一下系统原生的样式 6.x & 5.x系统样式 4.x系统样式 官方文档 XML属性 方法 描述 android:dro ...

  8. Android开发:文本控件详解——TextView(一)基本属性

    一.简单实例: 新建的Android项目初始自带的Hello World!其实就是一个TextView. 在activity_main.xml中可以新建TextView,从左侧组件里拖拽到右侧预览界面 ...

  9. Android开发:文本控件详解——TextView(二)文字跑马灯效果实现

    一.需要使用的属性: 1.android:ellipsize 作用:若文字过长,控制该控件如何显示. 对于同样的文字“Android开发:文本控件详解——TextView(二)文字跑马灯效果实现”,不 ...

随机推荐

  1. LinearLayout使用tips

    1.LinearLayout有divider属性,可以用来分割layout里面的各个组件 eg: a | b | c 如果c为gone的话,那么第二条线会消失,如果没用divider而使用View画线 ...

  2. iOS CAShapeLayer精讲

    前言 CAShapeLayer继承自CALayer,因此,可使用CALayer的所有属性.但是,CAShapeLayer需要和贝塞尔曲线配合使用才有意义. 关于UIBezierPath,请阅读文章:i ...

  3. (5)RARP:逆地址解析协议

    一.简介 无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的IP地址(在RARP应答中).感觉这个过程和上一章中 ...

  4. (二) win8+XAML Binding(数据绑定)

    第一次接触Binding是用到listview的时候,ListView中如果要动态显示一些内容,我一开始想的就是动态生成一个item,然后插入... 其实用Binding就不用在代码中涉及listvi ...

  5. Arrays 类操作 Java 的数组排序

    使用 Arrays 类操作 Java 中的数组 Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等( ...

  6. MySQL中UNION和UNION ALL的使用

    在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同. MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后 ...

  7. Gitbook 使用入门

    GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书. 本书将简单介绍如何安装.编写.生成.发布一本在线图书. http:/ ...

  8. 清空session的方法

    清空session的方法,常用来注销的时候清空所有的session. 方法一: Enumeration e=session.getAttributeNames(); while(e.hasMoreEl ...

  9. MongoDB命令学习

    mongodb不像关系型数据库有很强大的GUI客户端,虽然mongodb也有,但功能和稳定性实在不敢恭维,所以操作mongodb我们大部分 都是用类似cmd命令的方式(mongodb称为shell操作 ...

  10. Hive权限介绍

    一.开启权限 眼下hive支持简单的权限管理,默认情况下是不开启.这样全部的用户都具有同样的权限.同一时候也是超级管理员.也就对hive中的全部表都有查看和修改的权利,这样是不符合一般数据仓库的安全原 ...