Class MicronautHibernateValidator
java.lang.Object
io.micronaut.validation.validator.DefaultValidator
io.micronaut.configuration.hibernate.validator.MicronautHibernateValidator
- All Implemented Interfaces:
io.micronaut.inject.annotation.AnnotatedElementValidator, io.micronaut.inject.validation.BeanDefinitionValidator, io.micronaut.validation.validator.ExecutableMethodValidator, io.micronaut.validation.validator.ReactiveValidator, io.micronaut.validation.validator.Validator, jakarta.validation.executable.ExecutableValidator, jakarta.validation.Validator
@Singleton
@Primary
@Requires(property="micronaut.validator.enabled",
value="true",
defaultValue="true")
@Replaces(io.micronaut.validation.validator.DefaultValidator.class)
public class MicronautHibernateValidator
extends io.micronaut.validation.validator.DefaultValidator
Replaces Micronaut Validator with Hibernate backed implementation.
- Since:
- 2.0.0
- Author:
- graemerocher
-
Field Summary
Fields inherited from interface io.micronaut.inject.validation.BeanDefinitionValidator
DEFAULTFields inherited from interface io.micronaut.validation.validator.Validator
ANN_CONSTRAINT, ANN_VALID -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedMicronautHibernateValidator(jakarta.validation.ValidatorFactory validatorFactory, @NonNull io.micronaut.validation.validator.ValidatorConfiguration configuration) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionjakarta.validation.metadata.BeanDescriptorgetConstraintsForClass(Class<?> clazz) <T> T<T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> <T> voidvalidateBean(@NonNull io.micronaut.context.BeanResolutionContext resolutionContext, @NonNull io.micronaut.inject.BeanDefinition<T> definition, @NonNull T bean) <T> voidvalidateBeanArgument(@NonNull io.micronaut.context.BeanResolutionContext resolutionContext, @NonNull io.micronaut.inject.InjectionPoint injectionPoint, @NonNull io.micronaut.core.type.Argument<T> argument, int index, @Nullable T value) Validates an injected value with Hibernate Validator.<T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(@NonNull Constructor<? extends T> constructor, @NonNull Object[] parameterValues, @Nullable Class<?>... groups) <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorReturnValue(@NonNull Constructor<? extends T> constructor, @NonNull T createdObject, @Nullable Class<?>... groups) <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateProperty(@NonNull T object, @NonNull String propertyName, @Nullable Class<?>... groups) <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateReturnValue(@NonNull T object, @NonNull Method method, @Nullable Object returnValue, @Nullable Class<?>... groups) <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateValue(@NonNull Class<T> beanType, @NonNull String propertyName, @Nullable Object value, @Nullable Class<?>... groups) Methods inherited from class io.micronaut.validation.validator.DefaultValidator
createValid, forExecutables, getBeanIntrospection, getBeanIntrospection, getBeanIntrospection, getBeanIntrospector, validate, validate, validate, validateCompletionStage, validateConstructorParameters, validateConstructorParameters, validateConstructorParameters, validatedAnnotatedElement, validateParameters, validateParameters, validateParameters, validateParameters, validateProperty, validatePublisher, validateReturnValue, validateReturnValue, validateValue
-
Constructor Details
-
MicronautHibernateValidator
protected MicronautHibernateValidator(jakarta.validation.ValidatorFactory validatorFactory, @NonNull io.micronaut.validation.validator.ValidatorConfiguration configuration) Default constructor.- Parameters:
validatorFactory- The validator factoryconfiguration- The validator configuration
-
-
Method Details
-
validate
public <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validate(@NonNull T object, @Nullable Class<?>... groups) - Specified by:
validatein interfaceio.micronaut.validation.validator.Validator- Specified by:
validatein interfacejakarta.validation.Validator- Overrides:
validatein classio.micronaut.validation.validator.DefaultValidator
-
validateProperty
public <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateProperty(@NonNull T object, @NonNull String propertyName, @Nullable Class<?>... groups) - Specified by:
validatePropertyin interfaceio.micronaut.validation.validator.Validator- Specified by:
validatePropertyin interfacejakarta.validation.Validator- Overrides:
validatePropertyin classio.micronaut.validation.validator.DefaultValidator
-
validateValue
public <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateValue(@NonNull Class<T> beanType, @NonNull String propertyName, @Nullable Object value, @Nullable Class<?>... groups) - Specified by:
validateValuein interfaceio.micronaut.validation.validator.Validator- Specified by:
validateValuein interfacejakarta.validation.Validator- Overrides:
validateValuein classio.micronaut.validation.validator.DefaultValidator
-
getConstraintsForClass
- Specified by:
getConstraintsForClassin interfacejakarta.validation.Validator- Overrides:
getConstraintsForClassin classio.micronaut.validation.validator.DefaultValidator
-
unwrap
- Specified by:
unwrapin interfacejakarta.validation.Validator- Overrides:
unwrapin classio.micronaut.validation.validator.DefaultValidator
-
validateReturnValue
public <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateReturnValue(@NonNull T object, @NonNull Method method, @Nullable Object returnValue, @Nullable Class<?>... groups) - Specified by:
validateReturnValuein interfaceio.micronaut.validation.validator.ExecutableMethodValidator- Specified by:
validateReturnValuein interfacejakarta.validation.executable.ExecutableValidator- Overrides:
validateReturnValuein classio.micronaut.validation.validator.DefaultValidator
-
validateConstructorParameters
public <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(@NonNull Constructor<? extends T> constructor, @NonNull Object[] parameterValues, @Nullable Class<?>... groups) - Specified by:
validateConstructorParametersin interfaceio.micronaut.validation.validator.ExecutableMethodValidator- Specified by:
validateConstructorParametersin interfacejakarta.validation.executable.ExecutableValidator- Overrides:
validateConstructorParametersin classio.micronaut.validation.validator.DefaultValidator
-
validateConstructorReturnValue
public <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorReturnValue(@NonNull Constructor<? extends T> constructor, @NonNull T createdObject, @Nullable Class<?>... groups) - Specified by:
validateConstructorReturnValuein interfaceio.micronaut.validation.validator.ExecutableMethodValidator- Specified by:
validateConstructorReturnValuein interfacejakarta.validation.executable.ExecutableValidator- Overrides:
validateConstructorReturnValuein classio.micronaut.validation.validator.DefaultValidator
-
validateBean
public <T> void validateBean(@NonNull io.micronaut.context.BeanResolutionContext resolutionContext, @NonNull io.micronaut.inject.BeanDefinition<T> definition, @NonNull T bean) throws io.micronaut.context.exceptions.BeanInstantiationException - Specified by:
validateBeanin interfaceio.micronaut.inject.validation.BeanDefinitionValidator- Overrides:
validateBeanin classio.micronaut.validation.validator.DefaultValidator- Throws:
io.micronaut.context.exceptions.BeanInstantiationException
-
validateBeanArgument
public <T> void validateBeanArgument(@NonNull io.micronaut.context.BeanResolutionContext resolutionContext, @NonNull io.micronaut.inject.InjectionPoint injectionPoint, @NonNull io.micronaut.core.type.Argument<T> argument, int index, @Nullable T value) throws io.micronaut.context.exceptions.BeanInstantiationException Validates an injected value with Hibernate Validator. The inherited implementation looks the constraint validators up in Micronaut's own registry, which knows nothing about Hibernate's constraints such as@URL. Values injected into a field or through a property setter are validated against the constraints of that property, constructor arguments against the constraints of that constructor parameter. Other method arguments are left alone, as whole bean validation never covered them.- Specified by:
validateBeanArgumentin interfaceio.micronaut.inject.validation.BeanDefinitionValidator- Overrides:
validateBeanArgumentin classio.micronaut.validation.validator.DefaultValidator- Type Parameters:
T- The value type- Parameters:
resolutionContext- The resolution contextinjectionPoint- The injection pointargument- The argumentindex- The argument indexvalue- The value- Throws:
io.micronaut.context.exceptions.BeanInstantiationException- if the value is invalid
-