## org.springframework.validation
Interface SmartValidator

All Superinterfaces:
  Validator

All Known Implementing Classes:
  CustomValidatorBean, LocalValidatorFactoryBean, SpringValidatorAdapter

    public interface SmartValidator

extends Validator

Extended variant of the `Validator` interface, adding support for validation 'hints'.

Since:
  3.1
Author:
  Juergen Hoeller

Method Summary
`void` `validate(Object target, Errors errors, Object... validationHints)` Validate the supplied `target` object, which must be of a `Class` for which the `Validator.supports(Class)` method typically has (or would) return `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 `Class` for which the `Validator.supports(Class)` method typically has (or would) return `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 this 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 is supposed to be 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`