Ich habe mehrere Prozesse, in denen die Bean-Eigenschaften unterschiedliche Werte haben müssen. Beispiel:Java Bean-Validierung: Wie gebe ich mehrere Validierungsbeschränkungen desselben Typs, aber mit unterschiedlichen Gruppen an?
@Min(value=0, groups=ProcessA.class)
@Min(value=20, groups=ProcessB.class)
private int temperature;
Leider hat die Bohne Validierung JSR 303 nicht @Repeatable auf javax.validation.constraints.Min so eingestellt, dass dieser Ansatz nicht funktioniert. Ich habe "Min.List" gefunden, aber ohne ein Dokument darüber, wie man es benutzt. Stattdessen werden die offiziellen Staaten Oracle doc bei http://docs.oracle.com/javaee/7/api/javax/validation/constraints/class-use/Min.List.html
Keine Verwendung von javax.validation.constraints.Min.List
im Moment So sieht es wie ein Spezifikationsfehler?!?
Die Dokumentation sagt auch „mehrere Min Annotationen auf demselben Element definiert.“. Es sieht also genau so aus, wie du es machen willst. Hast du es versucht? Was ist die Schwierigkeit? –
javac löst einen Kompilierungsfehler aus: Doppelte Annotation des nicht wiederholbaren Typs @ Min. Nur Annotationstypen, die mit @Repeatable gekennzeichnet sind, können mehrmals in einem Ziel verwendet werden. –
Das ist, was es sagt, wenn Sie '@ Min' zweimal verwenden, wie in dem Code, den Sie gepostet haben. Deshalb sollten Sie stattdessen "@ Min.List" verwenden, was als "Definiert mehrere Min-Anmerkungen für dasselbe Element" dokumentiert ist. Was passiert, wenn Sie '@ Min.List' verwenden? –