문제 상황
유효성 검증에서 error가 있을 시 writeForm 화면으로 이동하도록 했지만 writeForm 화면으로 이동 안 되고 자꾸 에러 페이지만 나타났다.
public String write(@Valid @ModelAttribute Board board,
RedirectAttributes redirectAttributes,
BindingResult bindingResult) {
해결 방법
원인은 잘못된 BindingResult
위치였다…😭
컨트롤러 메서드에서 BindingResult
는 검증하려는 객체 바로 뒤에 위치해야 한다!
사용 예시
@PostMapping("/write")
public String write(@Valid @ModelAttribute Board board,
BindingResult bindingResult,
RedirectAttributes redirectAttributes) {
if (bindingResult.hasErrors()) {
return "board/writeForm";
}
boardService.saveBoard(board);
redirectAttributes.addFlashAttribute("message", "게시글이 정상적으로 등록되었습니다.");
return "redirect:/list";
}
'🔫 트러블슈팅' 카테고리의 다른 글
[카카오 지도 API] 같은 장소인데 다른 좌표로 판단하는 부동소수점 오차 문제 (0) | 2024.09.18 |
---|---|
[카카오 지도 API] 마커 인덱스가 index+1 값으로 표시되는 문제 (0) | 2024.09.13 |
[카카오 지도 API] 검색 결과 목록의 페이지별 마커 인덱스 겹침 문제 (0) | 2024.09.13 |
[Spring Boot] input type=hidden으로 컨트롤러에 값 넘겨주기 (0) | 2024.06.08 |
[HTML] form 태그 외부에서 button submit으로 form 제출하기 (0) | 2024.06.07 |