javax.validation
Annotation Type Constraint


@Documented
@Target(value=ANNOTATION_TYPE)
@Retention(value=RUNTIME)
public @interface Constraint

Marks an annotation as being a Bean 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 })
 @Retention(RUNTIME)
 public @interface OrderNumber {
     String message() default "{com.acme.constraint.OrderNumber.message}";
     Class[] groups() default {};
     Class[] payload() default {};
 }
 

Author:
Emmanuel Bernard, Gavin King, Hardy Ferentschik

Required Element Summary
 Class<? extends ConstraintValidator<?,?>>[] validatedBy
          ConstraintValidator classes must reference distinct target types for a given ValidationTarget If two ConstraintValidators refer to the same type, an exception will occur.
 

Element Detail

validatedBy

public abstract Class<? extends ConstraintValidator<?,?>>[] validatedBy
ConstraintValidator 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:
array of (@code ConstraintValidator} classes implementing the constraint


Copyright © 2007-2013 Red Hat Inc. All Rights Reserved. Released under the Apache Software License 2.0.