У меня есть несколько серверных элементов управления, которые реализуют интерфейс IValidator
.Таким образом, у них есть свои собственные Validate()
методы, которые выглядят следующим образом.
public void Validate()
{
this.IsValid = true;
if (someConditionFails())
{
ErrorMessage = "Condition failed!";
this.IsValid = false;
}
}
Я понимаю, что эти Validate()
методы выполняются при обратной передаче до события завершения загрузки, которое выполняется до события кнопки сохраненияобработчик.Я хотел бы передать ссылку на экземпляр пользовательского класса, который собирает все сообщения об ошибках, к которым я могу получить доступ из обработчика событий кнопки «Сохранить».
Другими словами, я хотел бы что-то сделатьнапример:
public void Validate(ref SummaryOfErrorMessages sum)
Полагаю, я не могу этого сделать, поскольку подпись отличается от того, что имеет интерфейс IValidator
.Другой вариант, который я могу придумать, связан с событием Load Completed, я бы перебрал все валидаторы на странице, получил бы те с IsValid = false
и создал там мой SummaryOfErrorMessages
.Это звучит правильно?Есть ли лучший способ сделать это?