public interface SmartValidator extends Validator
Validator interface, adding support for
 validation 'hints'.| Modifier and Type | Method and Description | 
|---|---|
| void | validate(Object target,
        Errors errors,
        Object... validationHints)Validate the supplied  targetobject, which must be of a type ofClassfor which theValidator.supports(Class)method typically returnstrue. | 
| default void | validateValue(Class<?> targetType,
             String fieldName,
             Object value,
             Errors errors,
             Object... validationHints)Validate the supplied value for the specified field on the target type,
 reporting the same validation errors as if the value would be bound to
 the field on an instance of the target class. | 
void validate(Object target, Errors errors, Object... validationHints)
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.
target - the object that is to be validatederrors - contextual state about the validation processvalidationHints - one or more hint objects to be passed to the validation engineValidator.validate(Object, Class[])default void validateValue(Class<?> targetType, String fieldName, @Nullable Object value, Errors errors, Object... validationHints)
targetType - the target typefieldName - the name of the fieldvalue - the candidate valueerrors - contextual state about the validation processvalidationHints - one or more hint objects to be passed to the validation engineValidator.validateValue(Class, String, Object, Class[])