Я действительно изучаю структуру Spring с Spring Boot и Sprint MVC. Я делаю форму, которая публикует некоторые данные для завершения объекта, и мне нужно проверить некоторые значения.Аннотации и исправление ошибки весеннего валидатора
Дело в том, что валидация работает, по сути, если я не уважаю валидацию, я перенаправляюсь (на самом деле, URL-адрес не изменяется) в содержимое error.html.
Как я могу правильно управлять своим перенаправлением? Это не работает таким образом:
@RequestMapping(value = "/print", method = RequestMethod.POST)
public String printPost(@ModelAttribute("printerentity") @Valid PrinterEntity print, Model model, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return "redirect:/formPrinter";
}
model.addAttribute("printed", print.getName());
model.addAttribute("printerentity", new PrinterEntity());
return "index";
}
и форма:
<form method="post" th:action="@{/print}" th:object="${printerentity}">
<input type="text" th:field="*{name}"/>
<button type="submit">Valider</button>
<p th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name Error</p>
</form>
Что я делаю неправильно?
EDIT: Кажется, что, когда у меня есть ошибка, я не проходят в коде контроллера: O =>
@RequestMapping(value = "/print", method = RequestMethod.POST)
public String printPost(@ModelAttribute("printerentity") @Valid PrinterEntity print, Model model, BindingResult bindingResult) {
System.out.println("I dont passe here when error but I m redirected");
if (bindingResult.hasErrors()) {
return "formPrinter";
}
model.addAttribute("printed", print.getName());
model.addAttribute("printerentity", new PrinterEntity());
return "index";
}
спасибо заранее
атрибуты модели атрибутов запроса. Они существуют только в одном цикле запроса-ответа. Вы выполняете перенаправление. Это два цикла запроса-ответа. –
Он не работает, даже если я не перенаправляю и возвращаю только соответствующий вид: - /. И согласно учебнику (http://spring.io/guides/gs/validating-form-input/) перенаправление не может работать? Спасибо за ваш ответ кстати :-) – mfrachet