Spring不会验证您的
IdCommand,但
WebDataBinder不允许您设置一个不接受绑定的bean的验证器。
如果使用
@InitBinder,则可以显式指定每个模型属性所绑定的名称
WebDataBinder(否则,您的
initBinder()方法将应用于所有属性),如下所示:
@RequestMapping(...)public ModelAndView showMatchPage(@ModelAttribute IdCommand idCommand) { ... }@InitBinder("idCommand")protected void initIdCommandBinder(WebDataBinder binder) { // no setValidator here, or no method at all if not needed ...}@RequestMapping(...)public ModelAndView saveFoo(@ModelAttribute @Valid Foo foo) { ... }@InitBinder("foo")protected void initFooBinder(WebDataBinder binder) { binder.setValidator(...);}


