APP下载

基于.net的用户定义验证控件的应用分析

2020-11-30曾凡秩

中文信息 2020年10期
关键词:用户名控件代码

曾凡秩

摘 要:在应用.net和c#进行应用系统开发时经常会用到验证控件,其中的CustomValidator验证控件,除了配置好基本的参数外,还要配置特殊的参数,同时还要自己编程实现验证的功能。本文就如何用此验证控件实现用户自己的特殊验证(比如在注册时用户名已存在的验证)进行了探讨。

关键词:.net 自定义验证控件 CustomValidator

中图分类号:G202 文献标识码:A 文章编号:1003-9082(2020)10-00-01

在应用.net和c#进行应用系统开发时经常会用到Required Field Validator等验证控件,除Custom Validator的其他控件,只要设置好相关参数后,一般都能起到正常验证数据的作用。而Custom Validator验证控件,除了配置好基本的参数外,还要配置特殊的参数,同时还要自己编程实现验证的功能。对CustomValidator控件如何引用、如何设置相关参数以及编程实现验证,同时达到和常规验证控件相似的效果等进行探讨和验证。

一、在TextBox数据控件后添加验证控件

如下图在该网页实现通过调用数据库来实现用户功能,在用户名的右边加入用户验证控件,用来判断要注册的用户名是否存在,若存在,则不能注册。

1.在注册页面中与自定义验证控件相关的页面代码如下:

用户名:

ontextchanged=”txtName_TextChanged”>

ControlToValidate=”txtName” onservervalidate=”CustomValidator1_ServerValidate”>

2.该验证控件的后台代码如下:

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)

{String connStr = ConfigurationManager.ConnectionStrings[“link2”].ToString();

SqlConnection conn = new SqlConnection(connStr); conn.Open();

string sqlStr = “select count(*) from manage where userName=” + txtName.Text + “”;

SqlCommand sc = new SqlCommand(sqlStr, conn);

int num = int.Parse(sc.ExecuteScalar().ToString());

conn.Close(); args.IsValid = true;

if (num > 0) args.IsValid = false; }

3.在用户名数据框中输入名字时要以上能够验证用户名是否存在,则要给该数据控件添加一个事件txtName_TextChanged,该事件引发验证,代码如下:

protected void txtName_TextChanged(object sender, EventArgs e)

{具体验证代码同上面斜体字部分。

CustomValidator1.IsValid = true;

if (num > 0) CustomValidator1.IsValid = false; }

4.注册功能代码:

protected void btnRegister_Click(object sender, EventArgs e)

{if (Page.IsValid == true)

{ //把数据写入数据库}}

二、在实现自定义验证控件时要注意的几个事项:

1.要实现对用户名的存在性验证,不能用普通验证控件,只能用自定义验证控件CustomValidator。

2.实现马上验证,只有给被验证的用户名框引入文本改变事件txt Name_Text Changed,而且被验证的文本框要设置属性Auto Post Back="True",服务器在这个文本发生改变时立马可以进行数据库查询验证。

3.一定要明确验证控件的错误信息,是在其属性args.IsValid值为false时才显示出来。在txtName_TextChanged事件中进行验证时要用验证控件的名字来引用,如CustomValidator1.IsValid。

4.在注册时,在把用户名插入到数据库前一定要判断页面的有效性,即if (Page.IsValid == true){注册代码},否则会执行注册代码,同名的用户也会再次写入数据库。

结语

验证控件是录入数据的第一道安全屏障,而自定义验证控件是解决普通验证控件无法实现的验证任务,用.net和C#开发应用系统中经常要用到的。就本文而言,有助于初次开发者自定义验证控件CustomValidator编程的基本思路,掌握它的基本用法,从而为开发出一个安全稳定的系统打下坚实的基础。要用到的关键属性和事件有:AutoPostBack="True",CustomValidator1.IsValid=”True”, args.IsValid, Page.IsValid, txtName_TextChanged。

參考文献

[1]陈巧莉,杨亨东,吴梦兰. ASP.NET项目开发一体化教程[M].上海:上海交通大学出版社,2017.

[2]张领.ASP NET项目开发全程实录[M].北京:清华大学出版社,2018.

[3]Daniel Cazzulino等.C#Web应用程序入门经典[M].北京:清华大学出版社,2003.

猜你喜欢

用户名控件代码
《护士进修杂志》投稿程序
《护士进修杂志》投稿程序
《护士进修杂志》投稿程序
创世代码
创世代码
创世代码
创世代码
ASP.NET服务器端验证控件的使用
Spreadsheet控件在Delphi数据库系统中的编程与应用