2017-07-14 3 views

Répondre

0

Vous devrez implémenter l'interface Validator et marquer la mise en œuvre @Component. Vous pouvez ensuite lier votre validateur personnalisé à l'aide de l'annotation @InitBinder. Quelque chose comme ceci:

@Component 
public class MyCustomValidator implements Validator 
{ 

    @Override 
    public boolean supports(Class<?> clazz) 
    { 
     // your custom logic 
    } 

    @Override 
    public void validate(Object target, Errors errors) 
    { 
     // your custom logic 
    } 
} 

Pour lier avec l'annotation:

@Controller 
public class MyController 
{ 
    @Autowired 
    private MyCustomValidator validator; 

    @InitBinder 
    protected void initBinder(final WebDataBinder binder) 
    { 
     binder.addValidators(validator); 
    } 
} 
+0

Cette approche nécessite beaucoup de code dans un contrôleur boilerplate. L'implémentation finale ne devrait nécessiter que l'annotation @Valid (ou toute autre version personnalisée) –