org.springframework.validation

## Interface SmartValidator

- All Superinterfaces:
    Validator
  All Known Implementing Classes:
    CustomValidatorBean, LocalValidatorFactoryBean, OptionalValidatorFactoryBean, SpringValidatorAdapter

      public interface SmartValidator
      extends Validator

  Extended variant of the `Validator` interface, adding support for validation 'hints'.
  Since:
    3.1
  Author:
    Juergen Hoeller, Sam Brannen

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `validate(Object target, Errors errors, Object... validationHints)` Validate the supplied `target` object, which must be of a type of `Class` for which the `Validator.supports(Class)` method typically returns `true`.

    - ### Methods inherited from interface org.springframework.validation.Validator

      `supports, validate`

- - ### Method Detail

    - #### validate

          void validate(Object target,
                        Errors errors,
                        Object... validationHints)

      Validate the supplied `target` object, which must be of a type of `Class` for which the `Validator.supports(Class)` method typically returns `true`.

      The supplied `errors` instance can be used to report any resulting validation errors.

      This variant of `validate()` supports validation hints, such as validation groups against a JSR-303 provider (in which case, the provided hint objects need to be annotation arguments of type `Class`).

      Note: Validation hints may get ignored by the actual target `Validator`, in which case this method should behave just like its regular `Validator.validate(Object, Errors)` sibling.

      Parameters:
        `target` - the object that is to be validated (can be `null`)
        `errors` - contextual state about the validation process (never `null`)
        `validationHints` - one or more hint objects to be passed to the validation engine
      See Also:
        `ValidationUtils`