Annotation Interface Validated


@Target({TYPE,METHOD,PARAMETER}) @Retention(RUNTIME) @Documented public @interface Validated
Variant of JSR-303's Valid, supporting the specification of validation groups. Designed for convenient use with Spring's JSR-303 support but not JSR-303 specific.

Can be used, for example, with Spring MVC handler methods arguments. Supported through SmartValidator's validation hint concept, with validation group classes acting as hint objects.

Can also be used with method level validation, indicating that a specific class is supposed to be validated at the method level (acting as a pointcut for the corresponding validation interceptor), but also optionally specifying the validation groups for method-level validation in the annotated class. Applying this annotation at the method level allows for overriding the validation groups for a specific method but does not serve as a pointcut; a class-level annotation is nevertheless necessary to trigger method validation for a specific bean to begin with. Can also be used as a meta-annotation on a custom stereotype annotation or a custom group-specific validated annotation.

Since:
3.1
Author:
Juergen Hoeller
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<?>[]
    Specify one or more validation groups to apply to the validation step kicked off by this annotation.
  • Element Details

    • value

      Class<?>[] value
      Specify one or more validation groups to apply to the validation step kicked off by this annotation.

      JSR-303 defines validation groups as custom annotations which an application declares for the sole purpose of using them as type-safe group arguments, as implemented in SpringValidatorAdapter.

      Other SmartValidator implementations may support class arguments in other ways as well.

      Default:
      {}