现在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. 科大讯飞和Tizen-TTS语音合成引擎

    最近在做一个文本转语音TTS(Text to Speech)的第三方软件封装,使用的是国内语音技术龙头安徽科大讯飞公司提供的离线引擎AiSound5.0,主要用于汽车导航用途.科大讯飞还提供 了AiT ...

  2. hdoj 2203 亲和串

    亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. mssql存储过程demo

    ALTER PROCEDURE [dbo].[sp_get_saleData]ASBEGIN set nocount on -- 获取最近上传数据的时间戳 declare @dd datetime s ...

  4. Why Does Everyone Else Appear to Be Succeeding?

    Why Does Everyone Else Appear to Be Succeeding?  —Steven G. Krantz When you are a student, it will a ...

  5. MySQL主从复制技术(纯干货)

    1.复制配置     主机一定要开启二进制日志(这里建议配置RBR)     每个主机和每个从机一定要配置一个位移的id,即server-id     每个从机配置一定要包含主机名称,日志名称,和位置 ...

  6. ServletContext1

    ---------------ConfigServlet.java----------- protected void doGet(HttpServletRequest request, HttpSe ...

  7. 动网论坛password暴力破解程序代码

    <%  response.buffer=false  '为防止程序陷入死循环,初始化一些最大重试值  Dim MaxPassLen,MaxPassAsc  MaxPassLen=20 'pass ...

  8. 在Linux下安装C/C++开发工具包的最佳方式

    假设你使用的是Fedora, Red Hat, CentOS, 或者 ScientificLinux 系统,使用以下的命令安装GNU的C/C++开发包和编译器. # yum groupinstall ...

  9. [AngularJS] Taking control of your templates using $templateCache

    Using $templateCache for quickly retrieval from the cache after first time used. $templateCache main ...

  10. WSGI、flup、fastcgi、web.py的关系

    Apache/lighttpd: 相当于一个request proxy,根据配置,把不同的请求转发给不同的server处理,例如静态的文件请求自己处理,这个时候它就像一个web server,对于fa ...