Ответ 1
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(...);
}