public IValidator GetValidator(IObjectToValidate objectToValidate)
        {
            Guard.Against.Null(objectToValidate, nameof(objectToValidate));

            var validatorName = $"{objectToValidate.GetType().Name}Validator";

            var validatorType = _typeService.GetClassTypeByName(validatorName);

            var validatorInterfaceType = _typeService.GetInterfaceTypeFromClassByName("ObjectValidator", validatorType);

            var validatorService = (IValidator)_serviceProvider
                                   .GetRequiredService(validatorInterfaceType);

            return(validatorService);
        }
Beispiel #2
0
        protected void Validate(IObjectToValidate objectToValidate)
        {
            if (objectToValidate == null)
            {
                throw new BadRequestException();
            }

            var validator = _validatorFactoryService.GetValidator(objectToValidate);

            var result = validator.Validate(objectToValidate);

            if (result.Errors.Count > 0)
            {
                var validationErrors = GetValidationErrors(result.Errors);
                throw new ValidationException(validationErrors);
            }
        }
 public new void Validate(IObjectToValidate objectToValidate)
 {
     base.Validate(objectToValidate);
 }