Проверка @RequestParam в Spring 3 MVC - PullRequest
3 голосов
/ 30 июля 2011

Как мне проверить Spring @RequestParam, чтобы они находились в BindingResult без необходимости использовать какой-либо объект передачи POJO (@ModelAttribute)?

Я мог бы использовать MapBindingResult и поместить параметры запроса в это, нозатем я должен получить этот результат привязки в модель.

Что я могу сделать с org.springframework.validation.BindingResult.MODEL_KEY_PREFIX + name.

Есть ли лучший способ связать и проверитьпараметры запроса (вместо создания другого POJO)?

1 Ответ

0 голосов
/ 30 июля 2011

Если вы используете Spring MVC 3.0 или более позднюю версию, вы можете использовать поддержку декларативной проверки , которую предоставляет Spring. Затем вы объявляете ограничения проверки для bean-компонента модели и добавляете аннотацию @Valid к компоненту поддержки формы, как описано в главе «Проверка пружины» в справочных документах.

Если вы добавите параметр BindingResult непосредственно после проверки бина, вы можете проверить ошибки проверки в вашем контроллере:

// .. in the bean class
public class MyBean {
    @NotNull
    private String name;
    // ..
}

// .. in the @Controller
public ModelAndView doSomething(@Valid MyBean data, BindingResult bindingResult) {
    if (bindingResult.hasErrors()) { 
        // back to form
    }
    // do something with the bean
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...