Frage

Ich bin mit dem Hibernate Validator meine Formen zu validieren. Ich habe das „Problem“, dass der 9. des 14. Monats im zweiten Monat im nächsten Jahr wird. (Nur en Beispiel eines Szenarios).

Ich habe mich gefragt, wie ich die Standard-Konvertierung verhindern könnte und zeigen stattdessen eine benutzerdefinierte Fehlermeldung für sie.

Hat jemand auch wissen, wie kann ich eine approperiate Meldung an, wenn meine benutzerdefinierten Editor eine Illegal wirft?

@InitBinder
    public void initBinder(WebDataBinder binder) {
        CustomDateEditor editor = new CustomDateEditor(new SimpleDateFormat("dd/MM/yyyy"), true);
        binder.registerCustomEditor(Date.class, editor);
    }

angemeldet ich eine Custom weil feder Portlet-mvc mit der Bindung hatte einige Probleme.

War es hilfreich?

Lösung

Dieses Verhalten wird durch DateFormat.setLenient() gesteuert und hat nichts mit Validierung zu tun (mit setLentient(false) es einen Typenkonfliktfehler bei der Bindungsphase erzeugt):

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
df.setLenient(false);
CustomDateEditor editor = new CustomDateEditor(df, true); 
binder.registerCustomEditor(Date.class, editor); 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top