【发布时间】:2013-06-24 20:37:57
【问题描述】:
我正在使用@valid 和@initbinder 来验证传递给服务的数据,但我面临@InitBinder 仅在全球范围内工作的问题,即
@InitBinder // possible to leave off for global behavior
protected void initBinder(WebDataBinder binder){
binder.setValidator(new LoginRequestValidator());
}
而不是针对特定模型属性,例如我有一个名为 LoginRequest 的模型对象:
@InitBinder("LoginRequest") // possible to leave off for global behavior
protected void initBinder(WebDataBinder binder){
binder.setValidator(new LoginRequestValidator());
}
在这种情况下,根本没有调用验证器。这是正确的方法吗?还是我错过了什么?
【问题讨论】:
-
你的控制器方法的签名是什么样子的?
-
public @ResponseBody LoginResponse performLogin(@Valid @RequestBody LoginRequest loginRequest, HttpServletRequest request, HttpServletResponse response)
标签: java validation spring-mvc annotations