2015-03-02 8 views
5

Ich habe eine Webanwendung im Frühjahr geschrieben. Es gibt ein HTML-Formular mit einem Integer-Feld. Ich habe eine benutzerdefinierte Nachricht für typeMismatch.java.lang.Integer hinzugefügt und es wird korrekt behandelt, aber es gibt ein Problem. Spring unterscheidet nicht zwischen einem Zeichenfolgenwert und einer "übergelaufenen" Ganzzahl. Mit anderen Worten - es gibt keinen Unterschied, ob Benutzer this is a string oder 1000000000000000000000000000 eingeben. Beide werden von Spring als typeMismatch behandelt. Ich möchte zwei getrennte Nachrichten für beide Fälle haben.Benutzerdefinierte Nachricht für übergelaufene Nummer während der Bindung im Frühjahr

Ich dachte an zwei Lösungen:

  1. die java.lang.Integer von java.math.BigInteger im Objekt Form ersetzen - dann ist die typeMismatch Fehler nur auf this is a string gelten, und ich werde 1000000000000000000000000000 in einem Validator
  2. registriere meinen Griff eigenen Eigenschaftseditor für Integer, aber ich bin mir nicht sicher, ob ich zwei verschiedene Fehler mit einem Eigenschaftseditor behandeln konnte

Haben Sie bessere Konzepte für dieses Problem?

Antwort

Verwandte Themen