public static ValidationResult Combine([NotNull] this ValidationResult firstResult, [NotNull] ValidationResult secondResult) { Contract.Requires(firstResult != null); Contract.Requires(secondResult != null); Contract.Ensures(Contract.Result<ValidationResult>() != null); var result = new ValidationResult(); foreach (ValidationError error in firstResult.ErrorList) { result.AddError(error.Target, error.ErrorText); } foreach (ValidationError error in secondResult.ErrorList) { if (result.ErrorList.Contains(error)) { continue; } result.AddError(error.Target, error.ErrorText); } return result; }
public static ValidationResult Combine([NotNull] this ValidationResult firstResult, [NotNull] ValidationResult secondResult) { Guard.NotNull(firstResult, nameof(firstResult)); Guard.NotNull(secondResult, nameof(secondResult)); var result = new ValidationResult(); foreach (ValidationError error in firstResult.ErrorList) { result.AddError(error.Target, error.ErrorText); } foreach (ValidationError error in secondResult.ErrorList) { if (result.ErrorList.Contains(error)) { continue; } result.AddError(error.Target, error.ErrorText); } return result; }
private static void AddErrorsFromRuleResult(ValidationResult resultToAddTo, ValidationRule validationRule, RuleResult ruleResult) { if (!ruleResult.IsValid) { IEnumerable<object> errorTargets = validationRule.Target.UnwrapTargets(); foreach (object errorTarget in errorTargets) { foreach (string ruleError in ruleResult.Errors) { resultToAddTo.AddError(errorTarget, ruleError); } } } }