Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- c++
- CVE
- web
- ๋์ ํฉ
- dynamic debugging
- ๊ตฌํ
- GCP
- dfs
- ๋ถํ ์ ๋ณต
- error
- ์ต๋จ ๊ฒฝ๋ก
- ์๋ฎฌ๋ ์ด์
- Spring
- Reversing
- ์ฐ์ ์์ ํ
- ๋งต
- ์ฌ๊ท
- OS
- DP
- ์คํ
- ์์ ์ ๋ ฌ
- java
- ๋ฐ์ดํฌ์คํธ๋ผ
- ์ด๋ถ ํ์
- ๊ทธ๋ฆฌ๋
- BFS
- JPA
- ๋ฐฑํธ๋ํน
- thymeleaf
- ๋ฌธ์์ด
Archives
- Today
- Total
hades
[Spring] BindingResult๋ ํ ํ๋ฆฟ์ ์ ๋ฌ ๋ณธ๋ฌธ
๐๐ปโ๏ธ ๊ธฐ๋ณธํ๋ จ/Spring
[Spring] BindingResult๋ ํ ํ๋ฆฟ์ ์ ๋ฌ
hades1 2024. 8. 21. 14:32๐จ ์๋ฌ
๋งจ ์์ input์ธ ํ์ฌ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ๋ฐ๋ฅด์ง ์๊ฒ ์ ๋ ฅํ๊ณ , ๋ณ๊ฒฝ ์ Controller์์ BindingResult์ ์๋ฌ๋ฅผ ๋ํด์ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ๋ํ๋ด๊ณ ์ถ์๋ค.
ํ์ง๋ง, ๋ณ๊ฒฝ ์์๋ ์๋ฌด๋ฐ ์๋ฌ ๋ฉ์ธ์ง๊ฐ ๋ํ๋์ง ์๋๋ค. ์ ์ด๋ฐ ๊ฒ์ผ๊น?
๐ ๋ถ์
@PostMapping("/mypage/change")
public String changePassword(@Validated @ModelAttribute(name = "passwordDto") PasswordDto passwordDto, BindingResult bindingResult, HttpServletRequest request, Model model){
HttpSession session = request.getSession();
Member loginMember = (Member)session.getAttribute("LOGIN_MEMBER");
loginMember = memberService.findMember(loginMember.getId());
if (!(loginMember.getPassword().equals(passwordDto.getCurrentPassword()))){
bindingResult.addError(new ObjectError("currentPassword", "ํ์ฌ ๋น๋ฐ๋ฒํธ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์์."));
}
if (!bindingResult.hasErrors()){
loginMember.setPassword(passwordDto.getNewPassword());
}
return "redirect:/member/mypage";
}
๊ทธ ์ด์ ๋ bindingResult์ ์๋ฌ๊ฐ ์์ ๋๋ redirect๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค. redirect๋ฅผ ํตํด ์ด๋ํ๋ฉด, bindingResult๊ฐ ์ ์ง๋์ง ์๋๋ค.
๐ ํด๊ฒฐ
@PostMapping("/mypage/change")
public String changePassword(@Validated @ModelAttribute(name = "passwordDto") PasswordDto passwordDto, BindingResult bindingResult, HttpServletRequest request, Model model){
HttpSession session = request.getSession();
Member loginMember = (Member)session.getAttribute("LOGIN_MEMBER");
loginMember = memberService.findMember(loginMember.getId());
if (!(loginMember.getPassword().equals(passwordDto.getCurrentPassword()))){
bindingResult.addError(new ObjectError("currentPassword", "ํ์ฌ ๋น๋ฐ๋ฒํธ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์์."));
}
if (bindingResult.hasErrors()){
model.addAttribute("member", loginMember);
return "member/mypage";
}
loginMember.setPassword(passwordDto.getNewPassword());
return "redirect:/member/mypage";
}
ํ ํ๋ฆฟ์ผ๋ก ๋ฐ๋ก ์ ๋ฌํด์ผ ํ๋ค.
์๋ฌ ๋ฉ์ธ์ง๊ฐ ์ ๋ฐ์๋์ด ๋ํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
'๐๐ปโโ๏ธ ๊ธฐ๋ณธํ๋ จ > Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] ๊ณตํต ์์ธ ์ฒ๋ฆฌ (0) | 2024.08.26 |
---|---|
[Spring] ์ธ์ฝ๋ฉํ ๊ฒฐ๊ณผ๋ ๋์ฝ๋ฉ (0) | 2024.08.22 |
[Thymeleaf] ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ ์ ๋ณ์ ์ฌ์ฉ ์ฃผ์ (0) | 2024.08.20 |
[Spring] ๊ฒฝ๋ก ์ค์ ์ ๋์๋ฌธ์ ๊ตฌ๋ถ์ ์ค์์ฑ (0) | 2024.08.19 |
[Spring] ์คํ๋ง AI (0) | 2024.08.14 |