Проверка формы Spring4

У меня ситуация, похожая на следующую:

public class Shop {
  @NotNull
  String name;
  @NotNull
  String desc;
}

кнопка для отображения формы, в которую я должен вставить своего пользователя:

<form:form method="post" action="saveShop.html" modelAttribute="Shop">

<form:label path="name">Name:</form:label>
<form:input path="name" value="${shop.name}" />
<form:label path="desc">desc:</form:label>
<form:input path="desc" value="${shop.desc}" />
<input type="submit" value="Submit"/>
</form:form>

Контроллер:

@RequestMapping("/addShop")
public ModelAndView LoadFormPage(@ModelAttribute("Shop")Shop shop) {
    ModelAndView model = new ModelAndView();
    model.setViewName("/shop/addShop");
    return model;
}

@RequestMapping(value = "/saveShop", method = RequestMethod.POST)  
public ModelAndView saveShop(@Valid @ModelAttribute("Shop") Shop shop, BindingResult result) {
    if (result.hasErrors()) { *do some*
    } else { *do someelse* }
}

Даже если я оставлю все поля пустыми (я пробовал даже с другим типом данных) и отправлю форму, контроллер никогда не распознает ошибки.

Вы можете помочь мне?


person Giacomo Giacomo    schedule 06.07.2018    source источник


Ответы (1)


Обязательно добавьте ниже конфиги.

<bean id="myBeansValidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />

а также

<mvc:annotation-driven validator="myBeansValidator">

а также

<!-- Hibernate Validator -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>4.2.0.Final</version>
</dependency>

Адаптировано из Проверка формы Spring MVC не работает

person Alien    schedule 06.07.2018
comment
Я только что добавил ‹mvc:annotation-driven/› и зависимости гибернации... и это работает. Спасибо - person Giacomo Giacomo; 06.07.2018