使用Jquery管理Asp.Net Validators

时间:2013-03-29 10:22:38

标签: jquery asp.net validation requiredfieldvalidator

如何使用JQuery访问Asp.NET验证器,如必填字段,正则表达式等?
如何使用Jquery控制其显示并自定义它们?

1 个答案:

答案 0 :(得分:1)

简而言之,是的,您可以从Javascript访问验证器(您实际上并不需要jQuery来执行此操作),前提是客户端验证已启用(即,页面中至少有一个启用且可见的验证器其EnableClientScript属性设置为true)。

验证器对象在全局Page_Validators数组中可用。您可以使用ValidatorEnable()禁用或启用单个验证程序,并使用ValidatorValidate()强制验证。 This MSDN article提供了有关客户端验证API的更多信息。

可以通过重新绑定验证器的验证方法来实现任意定制。 This old answer of mine用简单的Javascript记录进程,jQuery给出了类似的结果:

if (window.Page_Validators) {
    $.each(window.Page_Validators, function(index, validator) {
        validator.__old_evaluationfunction = validator.evaluationfunction;
        validator.evaluationfunction = function(value) {
            var element = validator.controltovalidate;
            if (!validator.__old_evaluationfunction(value)) {
                // Validation failed - turn 'element' red, scream at the user, etc.
                return false;
            } else {
                // Validation succeeded - restore 'element' to its normal state.
                return true;
            }
        };
    });
}