Howto-validate-Sammlungen in Google Maps
Ich habe ein problem mit der @Valid
Annotationen von JSR-303. Die Anmerkung funktioniert gut für normale Listen oder sets, aber ich versuche zu validieren Karten, die enthalten Listen, d.h.
@Valid
HashMap<String, ArrayList<Object1>> map;
In diesem Fall Instanzen von Object1
Klasse werden nicht überprüft. Ist es ein bequemer Weg, dies zu tun rekursiv, ohne die Iteration über jedes Objekt und überprüfen Sie es manuell?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Spezifikation ist nicht festgelegt, die Validierung Verhalten, wenn die Karte Werte sind selbst Listen.
Vom JSR-303-Spezifikation:
Da der Wert in Ihrem Fall ist eine Liste, die nicht mit einem @Valid-annotation ist, wird es nicht verarbeitet. Um dies zu umgehen, können Sie entweder:
Wickeln Sie die enthaltenen Liste in einer anderen bean, zwingt die annotation Verarbeitung auf der Liste.
Oder Sie können schreiben Sie eine benutzerdefinierte validator - mit Ihren komplexen Karten. So etwas wie dieses: