public static GraphQLFluentValidationResult From(ValidationResult result) { var model = new GraphQLFluentValidationResult(); foreach (var error in result.Errors) { var fieldError = new GraphQLFieldError { Field = error.PropertyName }; fieldError.Errors.Add(error.ErrorMessage); model.Errors.Add(fieldError); } return(model); }
public async Task <IGraphQLValidationResult> ValidateAsync <T>(T subject, CancellationToken cancellationToken = default) { var validationService = serviceProvider.GetService(typeof(IValidator <T>)) as IValidator <T>; if (validationService == null) { return(new GraphQLValidResult()); } var result = await validationService.ValidateAsync(subject, cancellationToken); if (!result.IsValid) { return(GraphQLFluentValidationResult.From(result)); } return(new GraphQLValidResult()); }
public async Task <IGraphQLValidationResult> ValidateObjectAsync(object subject, CancellationToken cancellationToken = default) { var validatorType = typeof(IValidator <>).MakeGenericType(subject.GetType()); var validationService = serviceProvider.GetService(validatorType) as IValidator; if (validationService == null) { return(new GraphQLValidResult()); } var result = await validationService.ValidateAsync(new ValidationContext <object>(subject), cancellationToken); if (!result.IsValid) { return(GraphQLFluentValidationResult.From(result)); } return(new GraphQLValidResult()); }