Разные валидаторы для одной и той же модели в разных действиях, @InitBinder и Spring Portlet MVC

У меня есть одна общая модель контроллера. В зависимости от выполненного действия я должен проверить модель по-другому. Другими словами, в действии1 я хочу иметь валидатор1, а в действии2 я хочу иметь валидатор2.

Я использовал @InitBinder с именем @ActionMapping. К сожалению, проверка не выполняется. Вероятно, что-то не так с именем, которое я использовал внутри @InitBinder.

@Controller
@SessionAttributes("model")
public class Controller {

    @Autowired
    @Qualifier("validator1")
    private Validator validator1;

    @Autowired
    @Qualifier("validator2")
    private Validator validator2;

    @InitBinder("action1")
    private void initAction1(WebDataBinder binder) {
        binder.setValidator(validator1);
    }

    @InitBinder("action2")
    private void initAction2(WebDataBinder binder) {
        binder.setValidator(validator2);
    }

    @ActionMapping("action1")
    public void action1(@ModelAttribute("model") @Valid Model model, BindingResult result) {        
        if (result.hasErrors()) {
            return;
        }
    }

    @ActionMapping("action2")
    public void action2(@ModelAttribute("model") @Valid Model model, BindingResult result) {        
        if (result.hasErrors()) {
            return;
        }
    }

}

person Aleksander Mielczarek    schedule 13.03.2015    source источник