public ValidationResult Validate(TObject objToValidate) { var propertyValidators = InnerPropertyValidators.Cast <ISyncPropertyValidator>(); var propertyValidationErrors = propertyValidators.Select(propertyValidator => propertyValidator.Validate(objToValidate)).ToList(); return(new ValidationResult(propertyValidationErrors)); }
public async Task <ValidationResult> Validate(TObject objToValidate) { var propertyValidators = InnerPropertyValidators.Cast <IAsyncPropertyValidator>(); var propertyValidationErrors = new List <PropertyValidationResult>(); foreach (var asyncPropertyValidator in propertyValidators) { var propertyValidationResult = await asyncPropertyValidator.Validate(objToValidate); propertyValidationErrors.Add(propertyValidationResult); } return(new ValidationResult(propertyValidationErrors)); }