当前位置:  开发笔记 > 编程语言 > 正文

您是否可以为标准ASP.NET Web窗体验证器进行自定义客户端JavaScript验证?

如何解决《您是否可以为标准ASP.NETWeb窗体验证器进行自定义客户端JavaScript验证?》经验,为你挑选了2个好方法。

您是否可以为标准ASP.NET Web窗体验证器进行自定义客户端JavaScript验证?

例如,使用asp:RequiredFieldValidator单独保留服务器端代码,但使用jQuery实现自己的客户端通知以突出显示字段或背景颜色.



1> Geoff..:

是的我已经这样做了.我使用Firebug找出了Dot.Net JS函数,然后劫持了验证器函数

以下内容适用于所有验证器,纯粹是客户端.我用它来改变ASP.Net验证的显示方式,而不是实际验证的实现方式.它必须包装在$(document).ready()中,以确保它覆盖原始的ASP.net验证.

/**
 * Re-assigns a couple of the ASP.NET validation JS functions to
 * provide a more flexible approach
 */
function UpgradeASPNETValidation(){
    // Hi-jack the ASP.NET error display only if required
    if (typeof(Page_ClientValidate) != "undefined") {
        ValidatorUpdateDisplay = NicerValidatorUpdateDisplay;
        AspPage_ClientValidate = Page_ClientValidate;
        Page_ClientValidate = NicerPage_ClientValidate;
   }
}

/**
 * Extends the classic ASP.NET validation to add a class to the parent span when invalid
 */
function NicerValidatorUpdateDisplay(val){
    if (val.isvalid){
        // do custom removing
        $(val).fadeOut('slow');
    } else {
        // do custom show
        $(val).fadeIn('slow');
    }
}

/**
 * Extends classic ASP.NET validation to include parent element styling
 */
function NicerPage_ClientValidate(validationGroup){
    var valid = AspPage_ClientValidate(validationGroup);

    if (!valid){
        // do custom styling etc
        // I added a background colour to the parent object
        $(this).parent().addClass('invalidField');
    }
}


这是我在工作中使用的代码,我在没有那篇文章的情况下想出了自己.OP说他想使用jQuery.去点燃其他人.

2> Mark Cidade..:

标准的CustomValidator具有ClientValidationFunction属性:




推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有