6

我正在使用约束注释在 Play 中验证我的对象!框架 2. 它适用于顶级对象,但不适用于嵌套对象。如何让我的嵌套对象验证注释工作?

事件:我正在保存的顶级对象。

@Entity
public class Event {

    @Required
    public String name;

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

    ...
}

选项:嵌套对象。它没有验证名称属性。

@Entity
public class Option {

    @Required
    public String name;

    ...
}
4

1 回答 1

14

不熟悉 Play,但它看起来非常接近 javax.validation,您需要在其中输入@Valid字段options来告诉验证器进入该关系。Play 有自己的@Valid,所以我会试一试。

更新:正如 OP 所指出的,上面是 Play 1.0。相反,根据Play 2.0 文档,它在底层使用 Spring 数据绑定和 JSR-303,那么如何使用javax.validation @Valid注释呢?也许 Play 1.0 有一个自制的验证框架,他们决定在 2.0 中迁移到 javax.validation?这可以解释为什么几个验证注释似乎在 2.0 API 中消失了。

于 2012-12-22T21:32:22.233 回答