Я использую Spring MVC 3 и JSR 303. У меня есть объект поддержки формы, в котором есть бобы различных типов. В зависимости от значения параметра запроса мне нужно выбрать компонент для проверки и сохранения. Я не могу использовать @Valid
для проверки, так как бит для проверки не известен до времени выполнения.Spring MVC и JSR 303 - Ручная проверка
Я смог ввести контроллер javax.validation.Validator
, но я не уверен, как его проверять и хранить ошибки в BindingResult/Error
по принципу «Весна».
Мне нужно сделать это в методе обработчика, а не в методе initBinder
, из-за сопоставления запросов.
[править]
Проблема у меня с validate(Object, Errors)
в том, что он не распознает вложенные бобы. Доступ к компоненту для проверки выполняется через foo.getBar(). GetBean(), где foo является объектом поддержки формы. Когда я сделаю validate(foo.getBar().getBean(), errors)
, я получаю следующее сообщение об ошибке.
JSR-303 validated property 'property-name' does not have a corresponding accessor for Spring data binding
Кто-нибудь сделал что-то подобное раньше? Благодарю.
Спасибо, но все же не повезло. Не могли бы вы увидеть редактирование? –