Web开发

首页 » 常识 » 预防 » NET开发WebForm必填验证对Te
TUhjnbcbe - 2024/3/29 19:00:00
北京治白癜风的医院 https://wapyyk.39.net/bj/zhuanke/89ac7.html
.NET开发-非空验证控件

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

1
查看完整版本: NET开发WebForm必填验证对Te