참조 소스: https://spring.io/guides/gs/validating-form-input/
@Entity
@Data
public class Board {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotNull
@Size(min=3, max=30)
private String title;
private String content;
}
@Controller
public class WebController implements WebMvcConfigurer {
@GetMapping("/form")
public String form(Model model, @RequestParam(required = false) Long id) {
if (id == null) {
model.addAttribute("board", new Board());
} else {
Board board = boardRepository.findById(id).orElse(null);
model.addAttribute("board", board);
}
return "board/form";
}
@PostMapping("/form")
public String submitPost(@Valid Board board, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return "board/form";
}
boardRepository.save(board);
return "redirect:/board/list";
}
}
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.0.Final</version>
</dependency>
다음과 같이 hibernate-validator dependency를 따로 추가해주니 해결되었다
참고로, BeanValidation을 구현한 것이 Hibernate Validator이다. 이에 대해서는 다음에 다루어 봐야겠다.