我一直在四处寻找一段时间,但没有运气。我不不使用 Spring MVC 但仍想使用 @javax.validation.Valid
启用方法参数的验证。举个例子
public class EventServiceImpl implements IEventService {
@Override
public void invite(@Valid Event event, @Valid User user) { ... }
}
使用 MVC,为 @Controller
启用此功能用简单的 <mvc:annotation-driven/>
注释的 bean (见 5.7.4.3 Configuring a JSR-303 Validator for use by Spring MVC)。
使用 AOP 应该很简单。不过,我怀疑有一些标准的方法可以做到这一点。因此,问题是:非 MVC 应用程序和非 Controller bean 是否有类似的事情来启用带注释的 bean 的输入验证?
最佳答案
方法级验证不是 Bean 验证规范 (JSR 303) 的一部分。方法级别验证是在 appendix C 中添加的规范中的建议。 .
Hibernate Validator 4.2(测试版已经出来)正在实现这个建议,并允许在方法参数和返回值上放置 JSR 303 注释。当然你仍然需要一些 Spring 胶水代码,但这应该不会太难。
此外,Bean Validation 1.1 将在规范中正式添加方法级别的验证(不仅仅是作为附录/建议)。另见 http://beanvalidation.org/
关于java - 是否有使用带注释的方法参数启用 JSR 303 Bean 验证的标准方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4900077/