加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 验证不适用于Play Framework 2中的嵌套对象

发布时间:2020-12-15 02:47:59 所属栏目:Java 来源:网络整理
导读:我正在使用Constraint注释来验证Play中的对象!框架2.它适用于顶级对象,但不适用于嵌套对象.如何使嵌套对象验证注释生效? 事件:我正在保存的顶级对象. @Entitypublic class Event { @Required public String name; @OneToMany(cascade = CascadeType.ALL)
我正在使用Constraint注释来验证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;

    ...
}

解决方法

不熟悉Play,但它看起来非常接近javax.validation,你需要在你的选项字段上放置@Valid来告诉验证者进入该关系. 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中消失了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读