在之前做的系统中,对于输入限制、查空、用户名是否已注册等问题,需要将一步步的验证过程写在代码中,很是复杂,而且还容易出错。现在学习了asp.net,才知道可以利用验证控件轻松搞定。下面就我们常见的网站注册简单讲一下如何使用验证控件。
表单设计:
控件属性设置:
输入“用户名”后要访问数据库,CustomValidato是一个自定义验证控件,需要编写代码来判断用户名是否已存在。
<span style="font-family:Microsoft YaHei;font-size:18px;"> protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) { string userName = args.Value; SqlConnection con = new SqlConnection("server=.;database=Login;user ID=sa;Password=123456"); con.Open(); SqlCommand cmd = new SqlCommand("select count(*) from Users where userName='" + userName + "' ", con); int count = Convert.ToInt32(cmd.ExecuteScalar()); if (count > 0) { args.IsValid = false;//未通过验证 } else { args.IsValid = true;//通过验证 } con.Close(); }</span>
验证控件在页面中并不显示,当点击“确定”后,哪里出错就会显示出提示信息。
效果展示:
做完这个小例子,与之前机房收费系统中的验证过程一比较,有没有一种相见恨晚的感觉!当初由于考虑不周到,验证不全面,致使系统漏洞百出,代码杂乱。
验证控件不止这三个,还有RangeValidator,验证一个字段是否在某个范围。RegularExpressionValidator,它根据正则表达式来验证用户输入字段的格式是否合法,如电子邮件、身份证、电话号码等。ValidationSummary,用于显示所有验证错误的摘要......这些验证控件绝不是在一开始就有的,由于要频繁使用造成代码重复,智慧的人们就把它做成了一个控件,我们生活中的工具也都是这样诞生的。
原文:http://blog.csdn.net/cyl_happygirl/article/details/39527011