6

Playでオブジェクトを検証するためにConstraintアノテーションを使用しています!フレームワーク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;

    ...
}
4

1 に答える 1

14

Playに精通していませんが、javax.validationに非常に近いように見えます。この場合、フィールドに配置@Validoptionsて、バリデーターにその関係に降下するように指示する必要があります。Playには独自の@Validがあるので、それを試してみます。

更新: OPが指摘したように、上記はPlay1.0です。代わりに、Play 2.0のドキュメントによると、内部でSpringデータバインディングとJSR-303を使用しているので、javax.validation@Validアノテーションを使用するのはどうでしょうか。たぶん、Play 1.0には自家製の検証フレームワークがあり、2.0でjavax.validationに移行することにしましたか?これは、2.0APIでいくつかの検証アノテーションが消えたように見える理由を説明しています。

于 2012-12-22T21:32:22.233 に答える