A
- the annotation type handled by an implementationT
- the target type supported by an implementationpublic interface ConstraintValidator<A extends Annotation,T>
A
for a given object type T
.
Implementations must comply to the following restriction:
T
must resolve to a non parameterized typeT
must be unbounded
wildcard types
The annotation SupportedValidationTarget
can be put on a
ConstraintValidator
implementation to mark it as supporting
cross-parameter constraints. Check out SupportedValidationTarget
and Constraint
for more information.
Modifier and Type | Method and Description |
---|---|
default void |
initialize(A constraintAnnotation)
Initializes the validator in preparation for
isValid(Object, ConstraintValidatorContext) calls. |
boolean |
isValid(T value,
ConstraintValidatorContext context)
Implements the validation logic.
|
default void initialize(A constraintAnnotation)
isValid(Object, ConstraintValidatorContext)
calls.
The constraint annotation for a given constraint declaration
is passed.
This method is guaranteed to be called before any use of this instance for validation.
The default implementation is a no-op.
constraintAnnotation
- annotation instance for a given constraint declarationboolean isValid(T value, ConstraintValidatorContext context)
value
must not be altered.
This method can be accessed concurrently, thread-safety must be ensured by the implementation.
value
- object to validatecontext
- context in which the constraint is evaluatedfalse
if value
does not pass the constraintComments to: bean-validation-dev@eclipse.org.
Copyright © 2019,2020 Eclipse Foundation.
Use is subject to EFSL; this spec is based on material that is licensed under the Apache License, version 2.0.