1.概述
在ASP.NETWeb应用程序中,对于网页上的验证,一般情况下都是在客户端使用JavaScript代码进行验证,但是对于初学者而言或基于微软的.NET开发者而言,对JavaScript代码并不熟悉,此时微软就为我们提供了一套ASP.NET验证控件。
这一套ASP.NET验证控件可以满足所有的标准数据验证,并且ASP.NET验证控件是双重验证的:客户端验证(JavaScript实现)和服务器端验证(C#代码实现),这样就不怕客户端脚本代码攻击了,保证了验证数据的准确性。
2.解决兼容性
注意:对于ASP.NET4.5之前的版本,是可以直接使用ASP.NET验证控件的,但是对于ASP.NET4.5及以后的版本,则可能会出现如下图的错误信息:
这是因为从ASP.NET4.5版本开始,ASP.NET验证控件的客户端验证使用了UnobtrusiveValidationMode模式(jQuery工具)来验证。
要解决此问题有多种办法,这里介绍两种简单的方法:
1)在VisualStudio中将ASP.NET目标框架修改为ASP.NET4.0。
2)ASP.NET4.5的情况下,在Page_Load()方法中编写如下代码:
protectedvoidPage_Load(objectsender,EventArgse){UnobtrusiveValidationMode=UnobtrusiveValidationMode.None;}3)ASP.NET4.5的情况下,或在Web.Config中的configuration节点下添加如下代码:
appSettingsaddkey=ValidationSettings:UnobtrusiveValidationModevalue=None//appSettings这三种办法都可以轻松的让你使用ASP.NET验证控件。
3.验证控件的使用
ASP.NETWebForm中的所有验证控件都是存放在工具箱的“验证”类别中的。如下图所示:
在上图中,可以看到WebForm中总共有6个验证控件。
4.RequiredFieldValidator控件
在ASP.NETWebForm中,RequiredFieldValidator控件是非空(或必填)验证控件,用于验证文本框值的必须性。
4.1.ControlToValidate属性
在RequiredFieldValidator控件中,使用ControlToValidate属性来与TextBox控件的ID值绑定。这样可以对TextBox文本框实现非空验证。需要执行一下“提交”按钮才可实施验证。
Html代码如下:
使用ControlToValidate建立绑定关系之后,该必填验证控件就会验证TextBox控件的必填性。
运行一下结果,如下图所示:
在上图中单击一下“提交”按钮,效果如下图所示:
在上图中出现的“RequiredFieldValidator”是验证未通过时出现的提示信息。是ErrorMessage属性指定的值。
4.2.ErrorMessage属性
RequiredFieldValidator中的ErrorMessage属性用于在验证没有通过时出现的验证错误信息。
对于RequiredFieldValidator验证控件,默认的错误信息是:“RequiredFieldValidator”。现在修改一下:
htmlheadrunat=servermeta