6
我有多個(自定義)bean類內部約束和一個類級別的約束。我想在類級約束之前驗證內部約束。代碼如下所示:的Java Bean驗證:GroupSequence與類級別的約束
@GroupSequence({ Inner.class, NewSlotBean.class })
@TotalBeanValid(groups = NewSlotBean.class)
public class NewSlotBean {
@DayMonthYearString(groups = Inner.class)
private String slotDay;
@TimeString(groups = Inner.class)
private String slotBegin;
@LengthString(groups = Inner.class)
private String slotLength;
}
(Inner
只是一個空的接口,位於某處)。
然而,當我嘗試運行此,類級別的約束沒有得到根本驗證。當我嘗試這樣定義
@GroupSequence({ Inner.class, Outer.class })
的GroupSequence(與Outer
是一個隨機接口),我得到異常:
javax.validation.GroupDefinitionException: ...*.beans.NewSlotBean must be part of the redefined default group sequence.
是否S/O知道如何確保類級別約束在內部之後被驗證? (!這不是似乎是默認的我已經隨機問題,它一會兒後彈出)
只是一個改進建議,以優良的答案:它是驗證的其他方式可能更好地組: '@GroupSequence({NewSlotBean.class,ClassLevel.class})@TotalBeanValid(組= ClassLevel.class) 'NewSlotBean'類,然後刪除'InnerGroup'驗證組和字段級別組賦值 - 字段驗證自動分配給默認驗證組。代碼少,清潔。 – jannis