【发布时间】:2017-02-14 00:37:56
【问题描述】:
我有一个控制器方法,它接收一个命令对象,其中包含一个为验证而注释的对象列表。但是,应该忽略完全空的项目,所以我不能在控制器方法头中使用@Valid,因为它会为所有列表项的所有字段生成错误。
我想从列表中删除空行,然后调用 Spring 验证器。我该怎么做?
这是一个 Spring Boot 项目。
【问题讨论】:
-
请查看这篇文章,认为有合适的例子stackoverflow.com/questions/19190592/…
-
我记得之前发现这个我没用过。尝试注入 SmartValidator 会导致没有为依赖项找到符合条件的 bean [org.springframework.validation.SmartValidator]:预计至少有 1 个符合自动装配候选条件的 bean。并且尝试注入 Spring 的验证器失败,因为找到了太多的 bean,包括我的自定义验证器。
-
好的,通过
@Autowired @Qualifier("mvcValidator") Validator mvcValidator;成功注入
标签: validation spring-mvc