6

我正在使用約束條件註釋驗證Play中的對象!框架2.它對頂層對象工作正常,但不是嵌套的。我如何讓我的嵌套對象驗證註釋工作?驗證不適用於Play Framework中的嵌套對象

事件:我正在保存的頂級對象。

@Entity 
public class Event { 

    @Required 
    public String name; 

    @OneToMany(cascade = CascadeType.ALL) 
    public List<Option> options; 

    ... 
} 

選項:嵌套對象。它不驗證名稱屬性。

@Entity 
public class Option { 

    @Required 
    public String name; 

    ... 
} 

回答

14

不熟悉遊戲,但它看起來很接近javax.validation,在你需要把@Validoptions現場告訴驗證器陷入這種關係。 Play有自己的@Valid,所以我會給你一個鏡頭。

更新:正如OP指出的,以上是Play 1.0。相反,根據Play 2.0 docs,它使用了Spring數據綁定和JSR-303,所以如何使用javax.validation @Valid註釋呢?也許Play 1.0有一個自制的驗證框架,他們決定遷移到2.0中的javax.validation?這將解釋爲什麼幾個驗證註釋似乎在2.0 API中消失了。

+0

我相信這是一個播放1註釋,而不是2. – Brian

+0

糟糕,抱歉。更新了我的答案。試試看。 –