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 :
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.
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()); }
Voici le code :
Par défaut Spring m'affiche dans mon formulaire (<form:errors>) le message d'erreur qui a pour clé typeMismatch.java.util.Date.
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(); } } }
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.
Partager