我们使用Spring MVC,Jackson for json,Hibernate ORM。我们需要添加前端验证。我遇到了Hibernate验证器。hibernate验证器,json模式生成和使用常见约束条件
我们有一组使用JPA注释的Domain类[DO类]。 我们有另一套为Json绑定注解的POJO类[DTO类]。
我们要实现基础设施,执行以下操作:
- DTO类指DO类约束[适用],这样的事实是同一个地方。
- 再次通过重用JPA批注生成json模式。
- 验证其余呼叫的输入。
例如,不要使用以下:
PersonDTO{
@NotNull
@Size(min=2, max=60)
private String firstName;
}
如何:
PersonDTO{
@MapsTo(com.xyz.domain.PersonDO.firstName.Size) // referring to the JPA annotation
private String firstName;
}
,然后自定义验证数字出来的约束通过查看JPA注释坚持。
我列出的策略是一种典型的方法吗?任何反馈或意见表示赞赏。你能指点我相关的任何文章? 谢谢。
谢谢你Gunnar。指针是有帮助的。我已经实现了动态添加约束的逻辑。我使用了下面的代码片段,但是,实际的验证没有看到我添加的约束条件。我认为应用程序通过spring bean的hibernate validator配置与我增强的不同。如何通过LocalValidatorFactoryBean将约束添加到Spring使用的配置中?谢谢你的帮助。 – user19937
HibernateValidatorConfiguration配置= Validation.byProvider(HibernateValidator.class).configure(); ConstraintMapping m = configuration.createConstraintMapping(); (Class c:dtoClasses){ addConstraintsToClass(c,m,handled); } Validator validator = configuration.addMapping(m).buildValidatorFactory()。getValidator(); – user19937
我不确定这是否可能与LocalValidatorFactoryBean。您可以禁用它,而是注册您的自定义配置的Validator bean。 – Gunnar