/// <inheritdoc/> protected override bool IsValid(PropertyValidatorContext context) { WorkflowDefinition workflow = (WorkflowDefinition)context.InstanceToValidate; IEnumerable <FunctionDefinition> functions = (IEnumerable <FunctionDefinition>)context.PropertyValue; int index = 0; IValidator <FunctionDefinition> validator = new FunctionDefinitionValidator(workflow); foreach (FunctionDefinition function in functions) { ValidationResult validationResult = validator.Validate(function); if (validationResult.IsValid) { index++; continue; } this.ErrorCode = $"{context.PropertyName}[{index}]"; this.SetErrorMessage(string.Join(Environment.NewLine, validationResult.Errors.Select(e => $"{e.ErrorCode}: {e.ErrorMessage}"))); return(false); } return(true); }
/// <inheritdoc/> public override bool IsValid(ValidationContext <WorkflowDefinition> context, IEnumerable <FunctionDefinition> value) { WorkflowDefinition workflow = context.InstanceToValidate; int index = 0; IValidator <FunctionDefinition> validator = new FunctionDefinitionValidator(workflow); foreach (FunctionDefinition function in value) { ValidationResult validationResult = validator.Validate(function); if (validationResult.IsValid) { index++; continue; } foreach (var failure in validationResult.Errors) { context.AddFailure(failure); } return(false); } return(true); }