1、CustomValidator控件有三个重要属性:
- ControlToValidator——验证的表单字段的ID
- Text——验证失败显示的错误信息
- ClientValidationFunction——用于执行客户端验证的客户端函数名
CustomValidator的一个事件
- ServerValidator——CustomValidator执行验证时引发。
可以通过处理ServerValidator时间来将自定义验证函数和CustomValidator控件相关联。
<script runat="server">
protected void valComments_ServerValidate(object source, ServerValidateEventArgs args)
{
if (args.Value.Length > 10)
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Comments:" AssociatedControlID="txtComments"></asp:Label>
<asp:TextBox ID="txtComments" runat="server"></asp:TextBox>
<asp:CustomValidator ID="valComments"
ControlToValidate="txtComments"
Text="(Comments must be less than 10 characters)" runat="server"
onservervalidate="valComments_ServerValidate"></asp:CustomValidator>
<br />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" />
</div>
</form>
</body>
</html>
传给ServerValidate事件处理程序的第二个参数是ServerValidateEventArgs类的实例。该类有三个属性:
- Value——表示被验证的表单字段的值
- IsValid——表示验证成功或失败
- ValidateEmptyText——表示所验证的表单字段没有值时是否执行验证
2、ServerValidate处理程序是服务器端函数。因此,页面传回Web服务器端后才会引发验证。如果想要在客户端(浏览器)和服务器端都执行验证,那么就需要客户端验证函数。
示例:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void valComments_ServerValidate(object source, ServerValidateEventArgs args)
{
if (args.Value.Length > 10)
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function valComments_ClientValidate(source,args)
{
if(args.Value.length > 10)
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label
ID="Label1"
runat="server"
Text="Comments:"
AssociatedControlID="txtComments" />
<asp:TextBox
ID="txtComments"
runat="server" />
<asp:CustomValidator
ID="valComments"
ControlToValidate="txtComments"
Text="(Comments must be less than 10 characters)"
runat="server"
OnServerValidate="valComments_ServerValidate"
ClientValidationFunction="valComments_ClientValidate" />
<br />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" />
</div>
</form>
</body>
</html>
3、有的时候,我们需要一个文本框中所输入的值必须固定长度,例如身份证号码、商品的编码等等。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (args.Value.Length == 4)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label
ID="lblProductCode"
runat="server"
Text="商品编码:"
AssociatedControlID="txtProductCode" />
<br />
<asp:TextBox ID="txtProductCode" runat="server" />
<asp:CustomValidator
ID="CustomValidator1"
ControlToValidate="txtProductCode"
Text="无效的商品编码"
ValidateEmptyText="true"
runat="server"
onservervalidate="CustomValidator1_ServerValidate" />
<br /><br />
<asp:Button
ID="btnSubmit"
runat="server"
Text="Submit" />
</div>
</form>
</body>
</html>
分享到:
相关推荐
本资源提供的是关于如何在WinForm中使用`CustomValidator`的源代码示例,对于学习和理解该控件的用法非常有帮助。 `CustomValidator`是.NET Framework中System.Windows.Forms命名空间下的一个控件,它提供了一个...
4. **验证码**:防止自动机器人或恶意用户提交表单,ASP.NET提供了验证控件,如ValidationSummary和CustomValidator,以及 CAPTCHA 控件,如ReCAPTCHA,用于创建不可读的图像验证码。 5. **数据绑定**:ASP.NET中的...
CustomValidator可以编程控制.txt html encode.txt html页面中数据绑定.txt html语法大全.txt listbox相互传值.txt MD5.cs RadioButtonList做选票例子.txt Web.config的配置.txt web服务代码.txt 保存成exele格式....
CustomValidator 控件 RegularExpressionValidator 控件 RequiredFieldValidator 控件 ValidationSummary 控件 母版页(Master Pages) 主题(Themes) Web 部件(Web Parts) 导航(Navigation) 安全(Security) ...
ASP.NET提供了Validator控件和CustomValidator来实现自定义验证,包括图形验证码的生成和验证。 4. 文件操作:.NET Framework提供了System.IO命名空间,包含各种类用于读写文件、目录管理和流处理。例如,File类和...
描述中提到有学习文档的URL,这通常是指向官方文档或其他教程资源的链接,用于深入学习`Form验证`的相关知识和最佳实践。 六、实际应用 在"FormTestApp"中,你可能会看到各种验证控件的实际应用,以及不同验证规则...
6-08.aspx CustomValidator控件的使用。 6-09.aspx 禁用检验。 第7章(\Chapter 07) 示例描述:本章学习高级页面开发。 7-01.aspx LinkButton控件的使用。 7-02.aspx 容器控件PlaceHolder的使用。 7-...
- CustomValidator:允许自定义验证逻辑,包括客户端和服务器端验证。需要编写 JavaScript 和服务器端代码。 3. 页面验证流程: 在服务器端,验证控件的验证通常在 `Page_Load` 之后、更深层次的事件(如按钮的 ...
除了内置验证控件,还可以利用CustomValidator自定义更复杂的验证逻辑。只需提供客户端和服务器端的验证方法,就可以实现对用户输入的任何条件检查。 在实际应用中,我们可能还会遇到在GridView中添加其他控件,如...
这些控件包括RequiredFieldValidator、CompareValidator、RangeValidator、RegularExpressionValidator、CustomValidator和ValidationSummary。这些控件可以帮助开发者轻松地实现表单验证和数据验证。 ASP.NET控件...
4. 数据验证控件:教学RequiredFieldValidator、CompareValidator、RangeValidator、RegularExpressionValidator和CustomValidator的运用,确保用户输入的有效性。 5. 内置对象:讲解Response、Request、Server、...
5. **源码资源**:提供的源码可能是用于实现用户端验证的自定义控件或验证逻辑,通过查看和学习这些源码,开发者可以深入理解验证机制,定制自己的验证解决方案。 6. **AspxCn说明.txt**:这个文件可能包含了关于这...
2. **aspnet1-6_validator2.swf** - 作为验证控件系列的第二部分,此文件可能继续深入探讨其他验证控件,如RegularExpressionValidator(正则表达式验证器)、RangeValidator(范围验证器),以及CustomValidator...
6. **第六章**:讲解ASP.NET 2.0的表单验证,如何使用Validation Control和CustomValidator实现客户端和服务器端验证。 7. **第七章**:介绍Master Pages和Site Navigation,这两种技术可以方便地创建一致的网站...
`CustomValidator`允许开发者自定义验证逻辑,而`CompareValidator`则用于比较两个值是否相等,例如输入的验证码与服务器端生成的验证码是否一致。 C#作为.NET框架的主要编程语言,提供了丰富的类库用于生成和验证...
5. **CustomValidator**:学习自定义验证器的用法,以便根据特定业务逻辑进行验证。 **第3章:基于Ajax的电子邮件处理** 1. **异步发送邮件**:使用ASP.NET AJAX发送电子邮件,避免页面刷新,提高用户体验。 2. *...
通过这个案例,初学者可以学习到如何在 ASP.NET 中实现验证码功能,理解服务器与客户端之间的交互,以及如何利用 ASP.NET 的验证机制来提升应用程序的安全性。这不仅有助于提高编程技能,也有助于理解 Web 开发中的...
实例34CustomValidator控件操作与应用 实例35服务器端控件ValidationSummary应用操作 实例36HtmlTable控件操作与应用 实例37在HTML控件中运用样式 实例38在Web服务器控件中运用样式 第2篇ASP NET中级编程实例 ...
例如,他们可能使用ValidationSummary控件来集中显示所有验证错误,使用CustomValidator控件实现自定义的验证逻辑,并结合JavaScript或jQuery实现气泡提示的动态显示。 源码分析可能包括以下几个方面: 1. **控件...
验证控件是确保用户输入数据有效性的工具,如RequiredFieldValidator检查是否为空,CompareValidator比较两个值,RangeValidator检查数值范围,CustomValidator进行自定义验证,RegularExpressionValidator则用于...