Как мы можем получить доступ к валидаторам Asp.NET, таким как обязательное поле, регулярное выражение и т. д., с помощью JQuery?
Как мы можем управлять их отображением и настраивать их с помощью JQuery?
Управление валидаторами Asp.Net с помощью Jquery
Ответы (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;
}
};
});
}