public ValidationResult Process(T value, ValidationContext context) { var result = _member.Process(value, context); if (!result.IsValid) { throw new ValidationStoppedException(result); } return(result); }
private static ValidationResult ProcessRule <T>( T instance, IValidationChainMember <T> validationChainMember, Dictionary <RuleIdentity, ValidationResult> validationMap, ValidationResult result, ValidationContext context) { if (validationMap.TryGetValue(validationChainMember.Identity, out var validationResult)) { return(validationResult); } var res = validationChainMember.Process(instance, context); validationMap[validationChainMember.Identity] = res; result.MergeResult(res); return(res); }