webform CustomValidator
官方的demo使用的是ControlToValidate来关联被检查的控件。
OnServerValidate method
通过OnServerValidatef方法来进行服务端的验证。
Raises the ServerValidate event for the CustomValidator control.
Remarks
The ServerValidate event is raised when validation is performed on the server.
Raising an event invokes the event handler through a delegate. For more information, see Handling and Raising Events.
The OnServerValidate method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors
When overriding OnServerValidate(String) in a derived class, be sure to call the base class's OnServerValidate(String) method so that registered delegates receive the event.
Example
<asp:TextBox id="Text1"
runat="server" /> <asp:CustomValidator id="CustomValidator1"
ControlToValidate="Text1"
Display="Static"
ErrorMessage="Not an even number!"
ForeColor="green"
Font-Names="verdana"
Font-Size="10pt"
OnServerValidate="ServerValidation"
runat="server"/>
ServerValidation的实现,这段代码,可以直接写在后台的.cs文件中
<script runat="server">
void ValidateBtn_OnClick(object sender, EventArgs e)
{
// Display whether the page passed validation.
if (Page.IsValid)
{
Message.Text = "Page is valid.";
}
else
{
Message.Text = "Page is not valid!";
}
}
void ServerValidation(object source, ServerValidateEventArgs args)
{
try
{
// Test whether the value entered into the text box is even.
int i = int.Parse(args.Value);
args.IsValid = ((i%2) == 0);
}
catch(Exception ex)
{
args.IsValid = false;
}
}
</script>
另外还可以设定ValidationGroup来处理,让目标control和validator绑定为相同的group。
ClientValidationFunction property
Gets or sets the name of the custom client-side script function used for validation.
Remarks
Set this property to the name of the function that performs the client-side validation.
Because the client validation function runs on the target browser, the function must be written using a scripting language supported by the browser, such as JScript or VBScript.
This property cannot be set by themes or style sheet themes. For more information, see ThemeableAttribute and ASP.NET Themes and Skins.
Example
<asp:TextBox id="Text1"
runat="server" /> <asp:CustomValidator id="CustomValidator1"
ControlToValidate="Text1"
ClientValidationFunction="ClientValidate"
OnServerValidate="ServerValidation"
Display="Static"
ErrorMessage="Not an even number!"
ForeColor="green"
Font-Name="verdana"
Font-Size="10pt"
runat="server"/>
ClientValidate的逻辑
<script language="javascript">
function ClientValidate(source, arguments)
{
if (arguments.Value % 2 == 0 ){
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
</script>
ErrorMessage Property
Gets or sets the text for the error message displayed in a ValidationSummary control when validation fails.
The error message displayed in a ValidationSummary control when validation fails. The default value is an empty string (""), which indicates that this property is not set.
Remarks
When using a ValidationSummary control, use the ErrorMessage property to specify the text to display in the ValidationSummary control when validation fails for the current validation control.
To specify the text to display in the validation control itself, use the Text property.
Note
If you set the ErrorMessage property without setting the Text property, the value of the ErrorMessage property is also displayed in the validation control.
The value of this property, when set, can be saved automatically to a resource file by using a designer tool. For more information, see LocalizableAttribute and ASP.NET Globalization and Localization.
Text Property
Gets or sets the text displayed in the validation control when validation fails.
The text displayed in the validation control when validation fails. The default is an empty string (""), which indicates that this property is not set.
Remarks
Use the Text property to specify the text to display in a validation control when validation fails. You can also display a summary of all controls that fail validation in the page by using a ValidationSummary control. To specify the text to display in a ValidationSummary control, use the ErrorMessage property.
Display Property
Gets or sets the display behavior of the error message in a validation control.
One of the ValidatorDisplay values. The default value is Static.
| Dynamic | 2 |
Validator content dynamically added to the page when validation fails. |
| None | 0 |
Validator content never displayed inline. |
| Static | 1 |
Validator content physically part of the page layout. |
The ValidatorDisplay enumeration represents the different display behaviors of error messages in validation controls.
None specifies that you only want to display the error message in a ValidationSummary control. The error message will not display in the validation control.
Static specifies that you don't want the layout of the Web page to change when validator controls display error messages. Space on the page is allocated for the error messages when displaying the page. The validator contents are physically part of the page; therefore, multiple validators for the same input control must occupy different locations on the page.
Dynamic specifies that you want to dynamically place error messages on the Web page when validation fails. Space for the validation content is not allocated on the page; therefore, the page dynamically changes to display the error message. This allows multiple validators to share the same physical location on the page. In order to keep the page layout from changing when an error message is displayed, the HTML element containing the validator must be sized large enough to accommodate the maximum size of the validator.
扩展阅读
Remarks
Use the CustomValidator control to provide a user-defined validation function for an input control. The CustomValidator control is a separate control from the input control it validates, which allows you to control where the validation message is displayed.
Validation controls always perform validation on the server. They also have complete client-side implementation that allows script-enabled browsers (such as Microsoft Internet Explorer 4.0 and later) to perform validation on the client. Client-side validation enhances the validation process by checking user input before it is sent to the server. This allows errors to be detected on the client before the form is submitted, thus avoiding the round trip of information necessary for server-side validation.
To create a server-side validation function, provide a handler for the ServerValidate event that performs the validation. The string from the input control to validate can be accessed by using the Value property of the ServerValidateEventArgs object passed into the event handler as a parameter. The result of the validation is then stored in the IsValid property of the ServerValidateEventArgs object.
To create a client-side validation function, first add the server-side validation function described earlier. Next, add the client-side validation script function to the ASP.NET (.aspx) page.
f you are using JScript, the function must be in this form:
function ValidationFunctionName(source, arguments)
The source parameter is a reference to the <span> element rendered for the CustomValidator control. This allows you to programmatically control the <span> tag, such as modifying the InnerHtml attribute. The arguments parameter is an object with two properties: Value and IsValid. This parameter allows you to get the value of the control to validate and to indicate whether the value is valid based on your custom validation routine.
Use the ClientValidationFunction property to specify the name of the client-side validation script function associated with the CustomValidator control. Because the script function is executed on the client, the function must be in a language that the target browser supports, such as VBScript or JScript.
Button的客户端验证
Change OnClientClick from return isValidTracker() to if (!isValidTracker()) return false;
webform CustomValidator的更多相关文章
- WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体
最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[] ...
- Webform:Application、ViewState对象的用法
Application Application对象的作用范围是整个全局,也就是说对所有用户都有效.它在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所以可以在不同页面中对它进行存取.它和S ...
- webform开发基础
ASP.NET WebForm C/S(Client/Server):客户端服务器 B/S(Browser/Server):浏览器服务器 C/S和B/S的区别: 首先必须强调的是C/S和B/S并没有本 ...
- 编写轻量ajax组件01-对比webform平台上的各种实现方式
前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏 ...
- 自己写的一个Pager分页组件,WebForm,Mvc都适用
我一说写这个功能的时候,好多人估计有疑问.分页功能网上多的是,搜一个不就行了,你这样不是浪费时间么.你说这句话的时候,我是比较信的,首先自己写一些东西是很耗时,有这些时间又能多打几盘LOL了.但是我觉 ...
- WebForm业务系列-会员功能
用了这么久的webform,还记得刚开始根本不知道程序要写成什么样,只知道功能实现了就行,有很多现实的问题都没考虑到.所以程序改了又改,最后连自己做的什么都不知道了.所以,现在来总结一下. 会员功能 ...
- WebForm基础--2016年12月27日
C/S:winform WPF 数据是存在其它的电脑上或服务器上需要从服务器上下载相应的数据,在本地电脑上的客户端里进行加工 数据加工的过程是在用户电脑上执行,会对用户的电脑配置有所要求 B/S:AS ...
- 在mvc里面有htmlhelper方法,在webform里面有什么?
终于是找到原来在webform里面已经提供了htmlcontrol这样的控件,可以直接拿来用.以前一直在想mvc有htmlhelper,webform里面不能用,其实是webform里面已经有了. 例 ...
- Webform Application传值 ViewState
Application:所有的会话共享一个Application空间,任何一个人改变Application的内容,其他人都会发现被改变了.Application中的内容不会被自动释放 存放位置:服务端 ...
随机推荐
- 浅析pc机上如何将vmlinuz-2.6.31-14-generic解压出vmlinux
浅析pc机上如何将vmlinuz-2.6.31-14-generic解压出vmlinux luther@gliethttp:~$ vim /boot/grub/grub.cfg 可以看到我们进入的系统 ...
- 简单JS旋转实现转盘抽奖效果
闲来没事,做了一个模拟转盘抽奖的HTML&JS的效果: 可以在设置的时候,选择几个区域,并且可以填写指针将要停止的区域 比如,我选择了"区域2",结果就是这样 具体可以见下 ...
- Windows系统优化
1.关闭家庭组,因为这功能会导致硬盘和CPU处于高负荷状态: 关闭方法:windows + R 打开运行,输入services.msc回车,右侧窗格找到“HomeGroup Listener”和“Ho ...
- imToken 测评通关攻略
imToken 测评通关攻略 2017-10-19 imToken 在 1.3.3 版本新增了用户风险测评系统, 目的是为了让更多的用户了解钱包安全知识以及区块链的基本概念, 从某种程度上提升了整个区 ...
- 【keras框架】
更高级别的封装.更简单的api,以tensorflow.theano为后端,支持更多的平台 读取网络模型后生成网络结构图 读取 from keras.models import load_model ...
- mysql 复合查询语句
INSERT INTO runwa(rshottime,rmoney,renamecount) VALUES (CURDATE(),(select SUM(MONEY) from income whe ...
- 【开发者笔记】归并排序过程呈现之java内置GUI表示
在网上看到一个视频将各种排序用视频表示出来,配上音乐,挺好玩的样子,就算是不会编程的人看到也会觉得很舒服,碰巧我也正在写归并算法,于是就用java的GUI实现一个. 归并排序的时间复杂度是T(n)=O ...
- opencv学习(1.2) - Windows 10 安装OpenCV &配置VS 2015
windows 10 安装OpenCV&配置VS 2015 环境 系统:Windows 10 OpenCV版本:3.4.1 开发IDE:VS2015 社区版 下载安装 下载OpenCV 3.4 ...
- Django框架_URLconf、Views、template、ORM
目录: 一.Django-MTV MTV模型 Django基本命令 视图层之路由配置系统(views) 视图层之视图函数(views) 模板层(template) 二.Django-model基础 O ...
- XDU 1164 男神的树(树+lazy数组)
#include<cstdio> #include<cmath> #include<cstring> #include<vector> #define ...