1、概述
网站开发时,经常会使用表单获取用户的信息,如注册信息,消息反馈。为了防止垃圾信息,甚至空信息条目被收集,就需要开发人员以编程的方式来判断数据是否满足要求,便产生了验证控件。
2、介绍
ASP.NET中有六个验证控件,包括判断是否空、比较、范围、正则表达式、自定义和汇总。
图一 验证控件
在分别介绍之前,很有必要将他们公共的属性给大家汇总一下,以便更好的分析:
表1 共同的属性表
属性 | 说明 |
---|---|
ControlToVisidate | 指定验证控件的ID |
Display | 在页面上显示的方式,static始终占位;Dynamic显示错误信息才占用;none错误信息在sum中显示 |
EnbaleClientScript | 是否启用客户端验证 |
ErrorMessage | 错误信息 |
SetFocusOnError | 当验证无效是,确定是否将焦点定位在被验证控件上 |
Text | 设置验证控件显示的信息 |
ValidationGroup | 设置验证控件的分组名 |
2.1 RequiredFieldValidator
作用:对于一些必须输入的信息进行检验,如用户名、密码等。
语法格式:
<!--生成一个textbox-->
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<!--错误信息是"用户名必填",颜色是红色,显示为*-->
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="用户名必填" ForeColor="Red">*</asp:RequiredFieldValidator>
除了共有属性外,还有一个非常实用的属性InitialValue,用于指定被验证控件的初始文本。当设置其值后,只有被验证控件中输入与其值不同的时候才能通过。
2.2 ConmpareValidator
作用:用于比较一个控件的值和另一个控件的值,若相等则验证通过。也可以比较一个控件的值和指定的值是不是一样,若为true则通过。
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TextBox2" ControlToValidate="TextBox1" ErrorMessage="两个值不一样" ForeColor="Red">*</asp:CompareValidator>
注意:属性ControlToCompare和ValueToCompare应用时只能选择一个。
2.3 RangeValidator
作用:验证输入的值是否在指定范围内。
定义的语法格式为:
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="输入请再范围内" ForeColor="Red" MaximumValue="100" MinimumValue="1" Type="Double"></asp:RangeValidator>
3.4 regularExpressionValidator
作用:验证输入值是否和和正则表达式的定义相匹配,常用来验证电话号码、邮政编码、Email等。
语法定义:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="请输入正确的电话号码" ForeColor="Red"></asp:RegularExpressionValidator>
2.5 CustomerValidator
当ASP.Net提供的验证控件无法满足实际需要时,可以考虑自定义验证控件。
语法:
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="CustomValidator"></asp:CustomValidator>
2.6 ValidationSummary
作用:提供汇总其他验证控件错误信息的方式。
语法:
<asp:ValidationSummary ID="ValidationSummary1" runat="server" />
特殊属性 | 说明 |
---|---|
DisplayMode | 指定显示格式,分别为BulletList、List、SingleParagraph |
ShowMessageBox | 弹框显示错误信息 |
ShowSummary | 是否其中错误信息汇总 |
3、小结
需求代表创造!创造带表财富!
以前在学习CS的时候,这些都是用过语句不断的验证。现在好了,可以直接就去调用控件,把需求封装起来,直接用!真是很好的想法。很实用!这些控件我给86分,剩下的12分我要以666的形式发给它!