com.vaadin.flow.data.validator.
Class BeanValidator
All Implemented Interfaces:
Validator<Object>
, Serializable
, BiFunction<Object,
A Validator
using the JSR-303 (jakarta.validation) annotation-based
bean validation mechanism. Values passed to this validator are compared
against the constraints, if any, specified by annotations on the
corresponding bean property.
Note that a JSR-303 implementation (for instance Hibernate Validator or Apache BVal) must be present on the project classpath when using bean validation. Specification versions 1.0 and 1.1 are supported.
Since:
1.0.
Author:
Vaadin Ltd
See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionBeanValidator
(Class<?> beanType, String propertyName) Creates a new JSR-303
BeanValidator
that validates values of the specified property. -
Method Summary
Modifier and TypeMethodDescriptionapply
(Object value, ValueContext context) Validates the given value as if it were the value of the bean property configured for this validator.
protected jakarta.validation.MessageInterpolator.Context
createContext
(jakarta.validation.ConstraintViolation<?> violation) Creates a simple message interpolation context based on the given constraint violation.
jakarta.validation.Validator
Returns a shared JSR-303 validator instance to use.
protected static jakarta.validation.ValidatorFactory
Returns the underlying JSR-303 bean validator factory used.
protected String
getMessage
(jakarta.validation.ConstraintViolation<?> violation, Locale locale) Returns the interpolated error message for the given constraint violation using the locale specified for this validator.
toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.function.BiFunction
andThen
-
Constructor Details
-
BeanValidator
Creates a new JSR-303
BeanValidator
that validates values of the specified property. Localizes validation messages using the default locale.Parameters:
beanType
- the bean type declaring the property, not nullpropertyName
- the property to validate, not nullThrows:
IllegalStateException
- ifBeanUtil.checkBeanValidationAvailable()
returns false
-
-
Method Details
-
apply
Validates the given value as if it were the value of the bean property configured for this validator. Returns
Result.ok
if there are no JSR-303 constraint violations, aResult.error
of chained constraint violation messages otherwise.Null values are accepted unless the property has an
@NotNull
annotation or equivalent.Specified by:
apply
in interfaceBiFunction<Object,
ValueContext, ValidationResult> Specified by:
apply
in interfaceValidator<Object>
Parameters:
value
- the input value to validatecontext
- the value context for validationReturns:
the validation result
-
toString
-
getJavaxBeanValidatorFactory
protected static jakarta.validation.ValidatorFactory getJavaxBeanValidatorFactory()Returns the underlying JSR-303 bean validator factory used. A factory is created using
Validation
if necessary.Returns:
the validator factory to use
-
getJavaxBeanValidator
public jakarta.validation.Validator getJavaxBeanValidator()Returns a shared JSR-303 validator instance to use.
Returns:
the validator to use
-
getMessage
Returns the interpolated error message for the given constraint violation using the locale specified for this validator.
Parameters:
violation
- the constraint violationlocale
- the used localeReturns:
the localized error message
-
createContext
protected jakarta.validation.MessageInterpolator.Context createContext(jakarta.validation.ConstraintViolation<?> violation) Creates a simple message interpolation context based on the given constraint violation.
Parameters:
violation
- the constraint violationReturns:
the message interpolation context
-