Bean验证 - JSR-303 DuplicateItemCheck用于java中的列表

时间:2017-11-14 19:09:58

标签: java spring validation hibernate-validator

是否有任何标准bean验证注释来检查java中集合中的重复项。 或任何人使用bean验证实现自定义验证以检查列表中的重复。

例如



    public class MySecurityRequest{
        private Date dob;

        @DuplicateNotAllowed
        private List securityQuestions;
    }

    public class SecurityQuestion{
      private String question;
      private String answer;
    }

在这里我需要确保,问题不会在列表中重复。 一个人面临这个类似的问题吗?

2 个答案:

答案 0 :(得分:4)

你问啊有趣啊。我们刚刚将@UniqueElements注释添加到Hibernate Validator(PR今天合并了 - https://github.com/hibernate/hibernate-validator/pull/879)。

它将成为我们计划明天发布的6.0.5.Final的一部分。

请注意,它不是标准约束(即它不在Bean验证中),但它将由开箱即用的HV支持。

你应该可以在春天使用HV 6:它应该是兼容的。请注意您的依赖项(您的依赖项中不能同时包含两个版本 - HV 5和6的组ID不同 - 并且还要注意javax.el依赖项 - 有关详细信息,请参阅https://github.com/hibernate/hibernate-validator#using-hibernate-validator

答案 1 :(得分:0)

使用套装。并在SecurityQuestion类上覆盖并实现hashcode()和equals()方法,以帮助Set识别重复项。