org.springframework.validation.annotation

## Annotation Type Validated

-     @Target(value={TYPE,PARAMETER})
      @Retention(value=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 e.g. 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. Can also be used as a meta-annotation on a custom stereotype annotation.

  Since:
    3.1
  Author:
    Juergen Hoeller
  See Also:
    `Validator.validate(Object, Class[])`, `SmartValidator.validate(Object, org.springframework.validation.Errors, Object...)`, `SpringValidatorAdapter`, `MethodValidationPostProcessor`

- - ### Optional Element Summary

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

- - ### Element Detail

    - #### value

          public abstract 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:
        {}