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, Sam Brannen

### Method Summary

Methods
`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`