Всякий раз, когда я нахожу эту ситуацию, вот что я делаю:
var val = new CustomValidator()
{
ErrorMessage = "This is my error message.",
Display = ValidatorDisplay.None,
IsValid = false,
ValidationGroup = vGroup
};
val.ServerValidate += (object source, ServerValidateEventArgs args) =>
{ args.IsValid = false; };
Page.Validators.Add(val);
И в моем ASPX-коде у меня есть элемент управления ValidationSummary, для которого ValidationGroup установлено то же значение, что и vGroup
.
Затем, после того как я загрузил столько кодов CustomValidators (или любого другого вида валидаторов), сколько мне нужно, я просто вызываю
Page.Validate()
if (Page.IsValid)
{
//... set your valid code here
}
Вызов Page.Validate()
вызывает лямбда-связанный метод всех вставленных валидаторов с выделенным кодом, и, если они возвращают false, страница становится недействительной и возвращается без выполнения кода. В противном случае страница возвращает допустимое значение и выполняет допустимый код.