6

私はPlayでオブジェクトの検証にConstraintアノテーションを使用しています!フレームワーク2.トップレベルのオブジェクトではうまく動作しますが、ネストされたオブジェクトではうまく動作しません。ネストされたオブジェクト検証アノテーションを動作させるにはどうすればよいですか?Play Framework 2のネストされたオブジェクトで検証が機能しない

イベント:保存しているトップレベルのオブジェクトです。

@Entity 
public class Event { 

    @Required 
    public String name; 

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

    ... 
} 

オプション:ネストされたオブジェクト。それはnameプロパティの検証ではありません。

@Entity 
public class Option { 

    @Required 
    public String name; 

    ... 
} 

答えて

14

ないプレイに精通し、それはあなたがその関係に下降するバリデータを伝えるために、あなたのoptionsフィールド上@Validを置く必要があると思いれるjavax.validation、に非常に近い見えます。 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

私はPlay 1の注釈であり、2ではないと信じています。 – Brian

+0

申し訳ありません。私の答えを更新しました。試してみてください。 –

関連する問題