微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为来自库/jar 的 bean 的某些属性映射提供自定义验证

如何解决为来自库/jar 的 bean 的某些属性映射提供自定义验证

我正在构建一个库,我有一个 POJO,如下例所示。 POJO 中很少有 Map 可以让客户端传递他们可以在服务器端使用的自定义属性。我想为已知字段添加验证约束,并能够为客户端添加对地图中字段的验证。

我能够使用休眠 bean 验证器来验证 POJO。我正在寻找以客户端可以覆盖的方式为地图提供验证的方法。我一直在研究 Hibernate documentation,但我不太清楚。

当使用这个库时(通常在 spring 应用程序中),每个部署都可以为每个映射发送自己的键值对。我可以让他们为他们应用程序中的每个地图注册他们自己的自定义验证器,或者我可以通过一些配置文件来驱动它,他们可以在其中列出每个地图的可能键和值的列表。客户可能知道他们想要用于每个地图的 POJO,如果这可以带来更清晰的解决方案。

地图可能具有大部分原始数据类型(如字符串、布尔值、整数等)。理想情况下,我也想支持自定义对象。任何指针将不胜感激。

class Example {
    private One one;
    private Two two;
}

class One {
    private Eleven eleven;
    private Twelve twelve;
}

private Eleven {
    private Map<String,Object> attributes = new HashMap<String,Object>(); 
}

private Twelve {
    @NotBlank(message = "id should not be blank")
    private String id;
    @Min(value = 0,message = "Count should not be less than 0")
    private int count;
    
    private Map<String,Object>();     
}

private Two {
    @NotBlank(message = "id should not be blank")
    private String id;
    
    @Email(message = "Email should be valid")
    private String email;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。