(A)
невозможно. Page.IsValid
устанавливается проверкой на стороне сервера, и клиент не должен связываться с ним. Проверка на стороне клиента не отправляет обратно, если все равно происходит сбой, поэтому Page.Validate()
даже не вызывается в этом случае.
AJAX Control Toolkit достигает (B)
путем повторного связывания функций проверки. Вы можете попробовать что-то вроде следующего:
[Отказ от ответственности: я не так хорошо знаком с jQuery (пока), поэтому я буду использовать простой JS. Не стесняйтесь переводить на соответствующие идиомы jQuery.]
for (var i = 0; i < window.Page_Validators.length; ++i) {
var validator = window.Page_Validators[i];
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;
}
};
}