Top Description Methods
jakarta.validation

public @Interface Constraint

extends Annotation
Annotations
@Documented
@Target:ANNOTATION_TYPE
@Retention:RUNTIME
Static Imports
java.lang.annotation.ElementType.ANNOTATION_TYPE, .RetentionPolicy.RUNTIME

Marks an annotation as being a Jakarta Validation constraint.

A given constraint annotation must be annotated by a @Constraint annotation which refers to its list of constraint validation implementations.

Each constraint annotation must host the following attributes:

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 Such dual constraints are rare. See SupportedValidationTarget for 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 {};
}
Authors
Emmanuel Bernard, Gavin King, Hardy Ferentschik

Method Summary

Modifier and TypeMethod and Description
public Class<? extends ConstraintValidator<?, ?>>[]

Returns:

array of ConstraintValidator classes implementing the constraint
validatedBy
()

ConstraintValidator classes implementing the constraint.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

validatedByback to summary
public Class<? extends ConstraintValidator<?, ?>>[] validatedBy()

ConstraintValidator classes implementing the constraint. The given classes must reference distinct target types for a given ValidationTarget. If two ConstraintValidators refer to the same type, an exception will occur.

At most one ConstraintValidator targeting the array of parameters of methods or constructors (aka cross-parameter) is accepted. If two or more are present, an exception will occur.

Returns:Class<? extends ConstraintValidator<?, ?>>[]

array of ConstraintValidator classes implementing the constraint