Package jakarta.validation
Annotation Type Constraint
- 
 @Documented @Target(ANNOTATION_TYPE) @Retention(RUNTIME) public @interface Constraint Marks an annotation as being a Jakarta Bean Validation constraint.A given constraint annotation must be annotated by a @Constraintannotation which refers to its list of constraint validation implementations.Each constraint annotation must host the following attributes: - String message() default [...];which should default to an error message key made of the fully-qualified class name of the constraint followed by- .message. For example- "{com.acme.constraints.NotSafe.message}"
- Class<?>[] groups() default {};for user to customize the targeted groups
- Class<? extends Payload>[] payload() default {};for extensibility purposes
 When building a constraint that is both generic and cross-parameter, the constraint annotation must host the validationAppliesTo()property. A constraint is generic if it targets the annotated element and is cross-parameter if it targets the array of parameters of a method or constructor.ConstraintTarget validationAppliesTo() default ConstraintTarget.IMPLICIT;This property allows the constraint user to choose whether the constraint targets the return type of the executable or its array of parameters. A constraint is both generic and cross-parameter if- two kinds of ConstraintValidators are attached to the constraint, one targetingValidationTarget.ANNOTATED_ELEMENTand one targetingValidationTarget.PARAMETERS,
- or if a ConstraintValidatortargets bothANNOTATED_ELEMENTandPARAMETERS.
 SupportedValidationTargetfor more info.Here is an example of constraint definition: @Documented @Constraint(validatedBy = OrderNumberValidator.class) @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE }) @Retention(RUNTIME) public @interface OrderNumber { String message() default "{com.acme.constraint.OrderNumber.message}"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; }- Author:
- Emmanuel Bernard, Gavin King, Hardy Ferentschik
 
- 
- 
Required Element SummaryRequired Elements Modifier and Type Required Element Description Class<? extends ConstraintValidator<?,?>>[]validatedByConstraintValidatorclasses implementing the constraint.
 
- 
- 
- 
Element Detail- 
validatedByClass<? extends ConstraintValidator<?,?>>[] validatedBy ConstraintValidatorclasses implementing the constraint. The given classes must reference distinct target types for a givenValidationTarget. If twoConstraintValidators refer to the same type, an exception will occur.At most one ConstraintValidatortargeting the array of parameters of methods or constructors (aka cross-parameter) is accepted. If two or more are present, an exception will occur.- Returns:
- array of ConstraintValidatorclasses implementing the constraint
 
 
- 
 
-