背景:VisualStudio2005;
使用自定义控件判断注册用户名是否已经存在;
实现:
html:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CustomValidator.aspx.cs" Inherits="CustomValidator" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>自定义用户验证控件:判断用户名是否已经存在</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table>
            <tr>
                <td style="width: 72px; height: 21px">
                    用户名:</td>
                <td style="width: 90px; height: 21px">
                    <asp:TextBox ID="txtName" runat="server" Width="86px"></asp:TextBox></td>
                <td style="width: 163px; height: 21px">
                    <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="txtName"
                        ErrorMessage="用户已经存在!" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator></td>
            </tr>
        </table>
   
    </div>
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </form>
</body>
</html>
code:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class CustomValidator : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
}
    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
       //取得要在CustomeValidator.ServerValidate事件的自定义事件处理程序中验证的值
        string userName = args.Value;
        SqlConnection con = DB2.createCon();
        con.Open();
        //查询该用户名记录集
        SqlCommand cmd = new SqlCommand("select count(*) from tb_user where userName='" + userName + "'", con);
        int count = Convert.ToInt32(cmd.ExecuteScalar());
        //如果count>0表明在数据库中已经存在该用户名,且设置args.IsValid属性为false,表示未通过验证
        if (count > 0)
        {
            //获取或设置由 ServerValidateEventArgs.Value属性指定的值是否通过验证
            args.IsValid = false;
        }
        else
        {
            args.IsValid = true;
        }

    }
}
DB2.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// DB2 的摘要说明
/// </summary>
public class DB2
{
 public DB2()
 {
  //
  // TODO: 在此处添加构造函数逻辑
  //
 }
    public static SqlConnection createCon()
    {
        return new SqlConnection("server=localhost\\sqlexpress;database=db_login;uid=sa;pwd=hello");
    }
}
注:可以使用Page.IsValid属性指示页验证是否成功

转载于:https://blog.51cto.com/hndtraveller/172136

自定义用户验证控件CustomValidator相关推荐

  1. 自定义验证控件CustomValidator

    客户端 <%@ Page Language="C#"   CodeFile="Default.aspx.cs" Inherits="_Defau ...

  2. 【转】ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证)...

    [转]ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证) ASP.NET验证控件详解 现在ASP.NET,你不但可以轻松的实现对用户输入的验证,而且,还可以选择验证在服 ...

  3. CustomValidator ASP.NET验证控件

    CustomValidator ASP.NET验证控件 CustomValidator控件允许您用自定义的验证逻辑创建验证控件.例如,可以创建一个验证控件,该控件检查在文本框中输入的值是否为偶数.创建 ...

  4. ASP.NET 验证控件

    ASP.NET公有六种验证控件,分别如下: 控件名 功能描叙 RequiredFieldValidator(必须字段验证) 用于检查是否有输入值 CompareValidator(比较验证) 按设定比 ...

  5. ASP.NET验证控件详细使用解释

    ASP.NET是微软推出的下一代WEB开发工具,其强大的功能立即吸引了一大批WEB开发者投入它的靡下.现在,我们来看看ASP.NET的验证控件,感受ASP.NET的强大功能同时方便我们现在的WEB开发 ...

  6. ASP.NET验证控件祥解

    ASP.NET是微软推出的下一代WEB开发工具,其强大的功能立即吸引了一大批WEB开发者投入它的靡下.现在,我们来看看ASP.NET的验证控件,感受ASP.NET的强大功能同时方便我们现在的WEB开发 ...

  7. ASP.NET验证控件详解

    ASP.NET六种验证控件,分别如下: RequiredFieldValidator(必须字段验证) 用于检查是否有输入值 CompareValidator(比较验证) 按设定比较两个输入 Range ...

  8. 风影ASP.NET基础教学 4 验证控件

    前言 无论什么应用软件系统,它最本质的功能和用途就是处理数据.这样,数据的安全性就成为了系统设计里面非常重要的话题,提交一些不安全的数据(如SQL注入.数据类型或者数据范围不合适等)常常会导致系统计算 ...

  9. ASP.NET内置的6种验证控件的使用

    ASP.NET控件验证 ASP.NET内置的验证控件有以下6种: RequiredFieldValidator控件 CompareValidator控件 RangeValidator控件 Regula ...

最新文章

  1. null未定义_PHP的isset()、is_null、empty()使用总结
  2. 包含min函数的栈 大坑
  3. vue2路由移除#号(Apache)
  4. 西游之路——python全栈——上传文件
  5. 异常机制及throw与throws的区别 (z)
  6. PHP json_encode不转义中文
  7. angelica类似_亲爱的当归(Angelica)是第一个让我哭泣的VR体验
  8. 操作方法:带有Thymeleaf和Spring Boot的Java 8日期和时间
  9. 一个简洁实用的后台管理系统AWESOME
  10. 二级Access数据库大纲知识要点
  11. Jenkins把GitHub项目做成Docker镜像
  12. Java 常见面试题
  13. Photoshop常见疑问解答(转)
  14. 单片机技术应用实训装置
  15. 第21章 分层架构软件测试
  16. JPG图片怎么转换成Word文档
  17. js将数字的金额转换成中文大写金额
  18. 网络信息安全 一场没有硝烟的战争
  19. springboot配置druid内置监控页面
  20. android img 文件解包

热门文章

  1. 如何通过SpringMVC框架响应JSON数据
  2. iOS 11开发教程(十一)了解iOS11应用视图
  3. Xcode 7.0正式版发布了
  4. oracle cache keep pool,请问:alter table ……storage(buffer_pool keep) 与cache的区别
  5. 计算机后期剪辑专业是学什么,【答疑】学后期剪辑用什么电脑比较好?有什么电脑配置要求? - 视频教程线上学...
  6. mysql部署 linux_linux 怎么部署mysql数据库
  7. Python读取.edf格式脑电数据文件
  8. 军事科学院医学研究院认知与脑科学研究团队2020年诚聘启事
  9. 利用LSTM(长短期记忆网络)来处理脑电数据
  10. 全美第二的机器人项目核心数学课免费开放,院长亲自授课,作业讲义全同步...