为来自库/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 (将#修改为@)