`
yesterdayman
  • 浏览: 2490 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

CustomValidator学习

阅读更多
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源码

    本资源提供的是关于如何在WinForm中使用`CustomValidator`的源代码示例,对于学习和理解该控件的用法非常有帮助。 `CustomValidator`是.NET Framework中System.Windows.Forms命名空间下的一个控件,它提供了一个...

    ASP.NET学习开发积累资源分享

    4. **验证码**:防止自动机器人或恶意用户提交表单,ASP.NET提供了验证控件,如ValidationSummary和CustomValidator,以及 CAPTCHA 控件,如ReCAPTCHA,用于创建不可读的图像验证码。 5. **数据绑定**:ASP.NET中的...

    asp.net学习积累的代码段

    CustomValidator可以编程控制.txt html encode.txt html页面中数据绑定.txt html语法大全.txt listbox相互传值.txt MD5.cs RadioButtonList做选票例子.txt Web.config的配置.txt web服务代码.txt 保存成exele格式....

    VS2005控件学习

    CustomValidator 控件 RegularExpressionValidator 控件 RequiredFieldValidator 控件 ValidationSummary 控件 母版页(Master Pages) 主题(Themes) Web 部件(Web Parts) 导航(Navigation) 安全(Security) ...

    Net编程学习中积累的代码

    ASP.NET提供了Validator控件和CustomValidator来实现自定义验证,包括图形验证码的生成和验证。 4. 文件操作:.NET Framework提供了System.IO命名空间,包含各种类用于读写文件、目录管理和流处理。例如,File类和...

    from验证的简单例子

    描述中提到有学习文档的URL,这通常是指向官方文档或其他教程资源的链接,用于深入学习`Form验证`的相关知识和最佳实践。 六、实际应用 在"FormTestApp"中,你可能会看到各种验证控件的实际应用,以及不同验证规则...

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    6-08.aspx CustomValidator控件的使用。 6-09.aspx 禁用检验。 第7章(\Chapter 07) 示例描述:本章学习高级页面开发。 7-01.aspx LinkButton控件的使用。 7-02.aspx 容器控件PlaceHolder的使用。 7-...

    AspNet学习笔记 包含GridView,水印,虚拟目录等等

    - CustomValidator:允许自定义验证逻辑,包括客户端和服务器端验证。需要编写 JavaScript 和服务器端代码。 3. 页面验证流程: 在服务器端,验证控件的验证通常在 `Page_Load` 之后、更深层次的事件(如按钮的 ...

    初学者GridView学习,在GridView中可以加入其他各种控件,以及相关验证

    除了内置验证控件,还可以利用CustomValidator自定义更复杂的验证逻辑。只需提供客户端和服务器端的验证方法,就可以实现对用户输入的任何条件检查。 在实际应用中,我们可能还会遇到在GridView中添加其他控件,如...

    【ASP.NET编程知识】asp.net基础学习之控件的使用方法.docx

    这些控件包括RequiredFieldValidator、CompareValidator、RangeValidator、RegularExpressionValidator、CustomValidator和ValidationSummary。这些控件可以帮助开发者轻松地实现表单验证和数据验证。 ASP.NET控件...

    《asp.net程序设设计》课程标准.doc

    4. 数据验证控件:教学RequiredFieldValidator、CompareValidator、RangeValidator、RegularExpressionValidator和CustomValidator的运用,确保用户输入的有效性。 5. 内置对象:讲解Response、Request、Server、...

    ASP.NET用戶端驗證2.01修正版

    5. **源码资源**:提供的源码可能是用于实现用户端验证的自定义控件或验证逻辑,通过查看和学习这些源码,开发者可以深入理解验证机制,定制自己的验证解决方案。 6. **AspxCn说明.txt**:这个文件可能包含了关于这...

    众志成城ASP.NET教程

    2. **aspnet1-6_validator2.swf** - 作为验证控件系列的第二部分,此文件可能继续深入探讨其他验证控件,如RegularExpressionValidator(正则表达式验证器)、RangeValidator(范围验证器),以及CustomValidator...

    ASP.NET 2.0动态网站开发基础教程(C# 2005篇)PPT

    6. **第六章**:讲解ASP.NET 2.0的表单验证,如何使用Validation Control和CustomValidator实现客户端和服务器端验证。 7. **第七章**:介绍Master Pages和Site Navigation,这两种技术可以方便地创建一致的网站...

    超实用的验证码

    `CustomValidator`允许开发者自定义验证逻辑,而`CompareValidator`则用于比较两个值是否相等,例如输入的验证码与服务器端生成的验证码是否一致。 C#作为.NET框架的主要编程语言,提供了丰富的类库用于生成和验证...

    ASP.NET Ajax开发

    5. **CustomValidator**:学习自定义验证器的用法,以便根据特定业务逻辑进行验证。 **第3章:基于Ajax的电子邮件处理** 1. **异步发送邮件**:使用ASP.NET AJAX发送电子邮件,避免页面刷新,提高用户体验。 2. *...

    asp.net基础验证码案例说明

    通过这个案例,初学者可以学习到如何在 ASP.NET 中实现验证码功能,理解服务器与客户端之间的交互,以及如何利用 ASP.NET 的验证机制来提升应用程序的安全性。这不仅有助于提高编程技能,也有助于理解 Web 开发中的...

    ASP.NET编程百例 PDF扫描版 附源代码(vb.net)

    实例34CustomValidator控件操作与应用 实例35服务器端控件ValidationSummary应用操作 实例36HtmlTable控件操作与应用 实例37在HTML控件中运用样式 实例38在Web服务器控件中运用样式 第2篇ASP NET中级编程实例 ...

    商业编程-源码-asp.net验证控件气泡提示控件及Demo源码.zip

    例如,他们可能使用ValidationSummary控件来集中显示所有验证错误,使用CustomValidator控件实现自定义的验证逻辑,并结合JavaScript或jQuery实现气泡提示的动态显示。 源码分析可能包括以下几个方面: 1. **控件...

    ASPNET程序设计实验题目

    验证控件是确保用户输入数据有效性的工具,如RequiredFieldValidator检查是否为空,CompareValidator比较两个值,RangeValidator检查数值范围,CustomValidator进行自定义验证,RegularExpressionValidator则用于...

Global site tag (gtag.js) - Google Analytics