我们如何使用 JQuery 访问 Asp.NET 验证器,如必填字段、正则表达式等?
我们如何使用 Jquery 控制它们的显示和自定义它们?
问问题
301 次
1 回答
1
简而言之,是的,您可以从 Javascript 访问验证器(实际上不需要 jQuery 来执行此操作),当然前提是启用了客户端验证(即,页面中至少有一个启用且可见的验证器及其EnableClientScript属性设置为true
)。
验证器对象在全局Page_Validators
数组中可用。您可以使用 禁用或启用单个验证器ValidatorEnable()
,并使用 强制验证ValidatorValidate()
。这篇 MSDN 文章提供了有关客户端验证 API 的更多信息。
可以通过重新绑定验证器的验证方法来实现任意定制。我的这个旧答案用纯 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;
}
};
});
}
于 2013-03-29T11:06:31.880 回答