ASP.NET中验证控件的使用

原文: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控件,其余控件都要在此控件基础上才能起作用。

 

 

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

 

 

 

 

 

 

时间: 2024-12-03 21:24:28

ASP.NET中验证控件的使用的相关文章

ASP.NET中验证控件的使用方法_实用技巧

对于这些常用的控件有效性验证,在Asp.Net中有单独的验证控件可供使用.他们可以满足一般的,诸如非空,范围.比较等的验证,为用户登录页面添加输入数据验证功能和验证码功能.  验证控件:    Asp.Net中内置的验证控件有:RequiredFieldValidation.RangeValidation.RegularExpressValidation.CompareValidation.CustomValidation和ValidationSummary等六种.其中用户自定义验证控件,由于并

初识ASP.NET---ASP.NET中验证控件的用法

一.前言         在Web应用程序中,大都是对数据的提供或收集,对于数据的有效性验证是非常重要的,验证就是给所收集的数据应用的一系列规则.         为进行有效性验证而收集的数据来自于在应用程序中提供的Web窗体,Web窗体由不同的类型的HTML元素组成,可以对窗体元素应用不同的验证规则,对元素应用的规则越多,应用到数据上的有效性验证就越严格.          验证可以有客户端和服务器段的验证.客户端的验证主要是用JavaScript脚本,效率高,响应时间短,但安全性不好:服务器

【ASP.NET】验证控件

在软件开发中,验证输入信息是否正确,这是必不可少的一项工作.就拿我们做过的机房收费系统来说,在登录的时候,我们需要对用户名和用户密码进行验证,判断是否为空,判断输入字符是否合理等等.这些工作,我们之前都需要编写一段又一段代码,依次进行验证.在ASP.NET中,学习到了验证控件,发现这些事情原来可以很容易就被解决的. 这篇博客就将ASP.NET中5个验证控件总结一下,也是为了以后能够更加方便熟悉的使用它们. (一)RequiredFieldValidator控件 其功能是要求用户必须为ASP.NE

关于asp.net的验证控件,为什么后台只能取到true的值

问题描述 关于asp.net的验证控件,为什么后台只能取到true的值 不能取到False,验证控件在前台的提示到是正常的,验证不过都能重复显示出错提示 我就放了两个验证控件 然后后台一个Button事件里就写上了 Response.Write("alert('"+Page.IsValid.ToString()+"')"); 用RegularExpressionValidator.IsValid也一样,只能取到True 加上Page.Validate()也没什么用.

轻松学习Asp.net中的控件

       C/S 结构,即大家熟知的客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销.目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件:因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出

ASP.NETWeb服务器验证控件如何使用_实用技巧

什么是验证控件? 希望用户输入正确的类型的数据,为了验证用户输入是否满足要求,必须对输入的值.范围或格式进行检查..NET中验证控件在哪里? 在工具箱的验证分组里.常用的ASP.NET控件几个?分别是什么? 1)CompareValidator控件:与给定值比较. 2)CustomValidator控件:用户自己定制校验逻辑 3)RangeValidator控件:检查控件的值是否在给定的有效范围内. 4)RegularExpressValidator控件:使用正则表达式验证用户输入的数据是否符合

asp.net数据验证控件_实用技巧

1.非空数据验证控件RequiredFiledValidator. 属性:ControlToValiata 指验证控件对哪一个控件进行验证.例如验证TextBox控件的ID属性txtPwd,只要将RequiredFiledValidator.控件的ControlToValidata属性设置为txtPwd.代码:this.RequiredFiledValidator1.ControlToValidata="txtPwd"; ErrorMessage属性:用于指定页面中使用Required

asp.net中导航控件传值的问题

问题描述 asp.net中导航控件传值的问题 我是一个.net新手,刚做了一个小型网站,其中使用到了控件sitemappath,但是页面之间是 要通过传递参数进行取值的,比如页面A点击链接到页面B并向B中传递id值,然后页面B点击链接 到页面C并向C传递id值, 但是若通过sitemappath返回到页面B时,此时页面A传递的id值 已经无法访问了,因此报数据库连接错误,请各位大神帮忙解答一下,感激不尽啊 解决方案 http://www.jb51.net/article/22301.htmhtt

灵活掌握asp.net中gridview控件的多种使用方法(下)_实用技巧

继续上篇文章的学习<灵活掌握asp.net中gridview控件的多种使用方法(上)>,在此基础上巩固gridview控件的操作使用,更上一层楼. 11.GridView实现用"..."代替超长字符串:效果图:   解决方法:数据绑定后过滤每一行即可 for (int i = 0; i <= GridView1.Rows.Count - 1; i++) { DataRowView mydrv; string gIntro; if (GridView1.PageInde