Bonjour,

Je dispose d'un formulaire avec des champs dates.

Lors du submit de mon formulaire j'ai utilisé un registerCustomEditor me permettant de parser mes dates au format souhaité dans la fonction initBinder.

Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 @InitBinder
    public void initBinder(final WebDataBinder pBinder) {
 
        pBinder.registerCustomEditor(java.util.Date.class,
                new DatePropertyEditor());
    }
Dans la class DatePropertyEditor qui s'occupe de parser la date je renvois une Exception de type IllegaleArgument dans le cas ou la date saisie n'en est pas une.

Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public class datePropertyEditor extends PropertyEditorSupport {
 
  ....
 
    @Override
    public void setAsText(final String pText) {
        try {
            this.setValue(this.gloriaDate.stringToDate(pText));
        } catch (final ParseException e) {
            throw new IllegalArgumentException();
        }
    }
}
Par défaut Spring m'affiche dans mon formulaire (<form:errors>) le message d'erreur qui a pour clé typeMismatch.java.util.Date.

Mon souci c'est que je souhaite remonter une autre clé que celle remonté par défaut par Spring dans ce cas.

Est ce possible ?

Par exemple je souhaite différencié le message lorsque l'utilisateur a saisie une date vide et le cas ou l'utilisateur à saisie une date au format incorrecte.