当前位置:编程学习 > asp >>

ASP.NET验证控件之CompareValidator

大家对CompareValidator应该非常熟悉了吧,它的作用就是比较两个输入框所输入的值是否一致。最常用的就是在用户注册的时候检验两次输入的密码是否一致。相信只要上过网的人都遇到过吧!好了废话不多说,下面一起看看他的常用属性:

属性
描述
BackColor
 背景颜色。
ControlToCompare
 要与所验证的输入控件进行比较的输入控件。
ControlToValidate
 要验证的输入控件的 ID。
Display
 验证控件中错误信息的显示行为。
 合法值是:
·         None 验证消息从不内联显示。
·         Static 在页面布局中分配用于显示验证消息的空间。
·         Dynamic 如果验证失败,将用于显示验证消息的空间动态添加到页面。
EnableClientScript
 布尔值,规定是否启用客户端验证。true为启用,false为不启用。
Enabled
 布尔值,规定是否启用验证控件。true为启用,false为不启用。
ErrorMessage
 当验证失败时在 ValidationSummary 控件中显示的文本。
 注释:如果未设置 Text 属性,此文本将显示在验证控件中。
ForeColor
 控件的前景色。即错误信息的字体颜色。
id
 控件的唯一 ID。
IsValid
 布尔值,指示由 ControlToValidate 指定的输入控件是否通过验证。true为通过,false为未通过。
Operator
 要执行的比较操作的类型。
 运算符是:
·         Equal 等于
·         GreaterThan 大于
·         GreaterThanEqual 大于等于
·         LessThan 小于
·         LessThanEqual 小于等于
·         NotEqual 不等于
·         DataTypeCheck 验证数据类型(如果规定类型为整型,那么输入字符就不能通过验证)
runat
 规定控件是服务器控件。必须设置为 "server"。
Text
 当验证失败时显示的消息。
Type
 规定要对比的值的数据类型。
 类型有:
·         Currency
·         Date
·         Double
·         Integer
·         String
ValueToCompare
 一个常数值,该值要与由用户输入到所验证的输入控件中的值进行比较。


下面是CompareValidator的实际应用:
 
 
[html] 
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="密码比较.aspx.cs" Inherits="WebApplication1.密码比较" %> 
 
 
<!DOCTYPE html> 
 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>密码比较</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
 
 
        <asp:Label ID="lbPWD1" runat="server" Text="请输入密码:"></asp:Label> 
        <asp:TextBox ID="txtPWD1" runat="server" TextMode="Password"></asp:TextBox> 
 
 
        <br /> 
        <br /> 
 
 
        <asp:Label ID="lbPWD2" runat="server" Text="请确认密码:"></asp:Label> 
        <asp:TextBox ID="txtPWD2" runat="server" TextMode="Password"></asp:TextBox> 
        <asp:CompareValidator ID="CompareValidator1" ForeColor="Red" runat="server" ErrorMessage="两次密码输入不一致" ControlToValidate="txtPWD1" ControlToCompare="txtPWD2"></asp:CompareValidator> 
 
 
        <br /> 
        <br /> 
 
 
        <asp:Button ID="btnSubmit" runat="server" Text="提交" /> 
 
 
    </form> 
</body> 
</html> 
  
当两次输入的密码不一致是就会有如下提示(当然提示信息是自己定义的):


另外需要注意的是:如果两个框输入的都是空格,不输入多少,两个的数量一不一样,都会认为一致,因为CompareValidator将全为空格的内容当做什么都没有。但是如果输入了实际内容,不管在什么地方加空格,只要两个框的内容不一样就会报错。说明CompareValidator并没有默认去掉首尾的空格。这一点需要注意。
 
虽然CompareValidator跟用js实现起来在对资源的消耗与用户体验上有一定的差距,不过它用起来比较简单方便,适合入门时学习使用。以后再向大家介绍js的方式。
 

补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,