tjgmlfbs1241682
@tjgmlfbs1241682
Reviews Written
2
Average Rating
5.0
Posts
Q&A
type์๋ฌ์ field์๋ฌ ์ฒ๋ฆฌ ์์
ํธ๋ํธ๋๋๋์ด ํ์ จ๋ ์ํฉ // ValidationItemControllerV2.java // ์ฌ๊ธฐ์ ๋จผ์ typemismatch๋ก ์ผ์ด๋ ์๋ฌ๋ฅผ ๋จผ์ ํ์ธํ ๋ฆฌ๋ค์ด๋ ํธ if (bindingResult.hasErrors()){ log.info("errors = {}", bindingResult); return "redirect:{/abcd/aaa..}"; } // ์๋ฌ๊ฐ ์์ผ๋ฉด Field ๊ฒ์ฆ๋ก์ง ์ํ if(!StringUtils.hasText(item.getItemName())){ errors.rejectValue("itemName", "required"); } if (item.getPrice() == null || item.getPrice() 1000000){ errors.rejectValue("price", "range",new Object[]{1000, 1000000}, null); } ... ํ๊ณ ์ถ์ผ์ ๊ฑด TypeMismatch ์ผ๋ก ๋ฆฌํด๋๋ ์์ ๊ณผ, Field ๊ฒ์ฆ์ค๋ฅ๋ก ๋ฆฌํด๋๋ ์์ ์ controller์์ ๊ตฌ๋ถํ๊ณ , ๋ฐ๋ก ์ฒ๋ฆฌํ์๊ธธ ๋ฐ๋ผ์๋๊ฒ๊ฐ์๋ฐ..์ด ๊ฐ์์์ @Validated ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๊ฒ๋จ์ผ๋ก์จ, Controller์ hasErrors()๋ฅผ ํธ์ถํ๊ธฐ์ ์ 'ItemValidator'์์ ์ด๋ฏธ ๊ฒ์ฆ์ ๋คํ๊ณ ๋์์ Controller๋ก ์ ๊ทผํ๊ธฐ ๋๋ฌธ์, ์ด๋๋ ์ด๋ป๊ฒ ๋ฐ๋ก Type Mistmatch๋ง ๋ฝ์์ controller์์ redirect ํ๋์ง ์ฌ์ญค๋ณด๋๊ฒ๊ฐ์ต๋๋ค. ์ ๊น ํด๋ณธ๊ฒฐ๊ณผ๋ก๋ .. ItemValidator์ validate()๋ฅผ ์ข ์์ ํด๋ณด๋ฉด ํด๊ฒฐ๋์ง ์์๊น ์๊ฐํฉ๋๋ค // ItemValidator.java @Override public void validate(Object target, Errors errors) { Item item = (Item) target; if ( ... ){ // Type์ ๊ฒ์ฌ return; // Type์ด ๋ง์ง ์์ผ๋ฉด Field ๊ฒ์ฆ๋ก์ง ์ ์ return } // Field ๊ฒ์ฆ ๋ก์ง ... } // ValidatationControllerV2.java @PostMapping("/add") public String addItemV6(@Validated @ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { if (bindingResult.hasErrors()){ List allErrors = bindingResult.getAllErrors(); // ๋ชจ๋ ์๋ฌ๋ฅผ ๊ฐ์ ธ์ด for (ObjectError error : allErrors) { System.out.println("error = " + error.getCode()); // error = typeMissmatch // error.getCode()๊ฐ typeMissmatch์ด๋ฉด ๋ฆฌ๋ค์ด๋ ํธ !! return "redirect:/"; } log.info("errors = {}", bindingResult); return "validation/v2/addForm"; } .... } ์ด ๊ฒฐ๊ณผ, (์ฌ์ง) ํ ์คํธํ ๋ typeMissmatch๋ฅผ ์บ์นํ๊ธฐ๋๋ฌธ์ Field ๊ฒ์ฆ์ด ์๋๋์ง์๊ณ , typeMissmatch๋ง Binding๋์ form์ ๋ค์ ๋ฆฌํดํ๋๋ก ํ๋๋ฐ, form์ ๋ฆฌํดํ๋ ๋์ redirect ๊ฒฝ๋ก๋ฅผ ๋ฆฌํดํ๋ค๋ฉด, ์ ์ ๋์ํ์ค๊ฒ ๊ฐ์ต๋๋ค! ์ ๋ ๊ณต๋ถ์ค์ด๋ผ.. ๋์์ด ๋์ค์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ํ ์คํธํด๋ณด๋ ๋๊ธดํด์ ์ ์ด๋ด ๋๋ค !
- 0
- 3
- 544
Q&A
ํ ํ๋ฆฟ์์ SpringBean ์กฐํ
์ฌํ ๋ฐ๋ณต์ ์ผ๋ก ์ปจํธ๋กค๋ฌ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์๋ ์ง๋๋ ๋ค์ด ์ฃผ๋ง๋ฑ์ฒ๋ผ ์ง๋๊ฐ๋ค์..!๋ง์น๋ก ๋จธ๋ฆฌ๋ฅผ ๋ง์ ๋๋์ ๋๋ค๊ฐ์ฌํฉ๋๋ค (__)
- 2
- 2
- 308
Q&A
๋ก๊ทธ ์ ์ธ ๋ถ๋ถ ์ง๋ฌธ์ ๋๋ค.
์ ๊ฐ์๊ฒฝ์ฐ๋ Root Class๋ง๋ค ๋ค log๋ฅผ ์ ์ธํด์ ์ธ๊ฒฝ์ฐ์ ์ฌ์ฉํ ์ ์์๊ฒ๊ฐ๊ณ , ์๋ ๊ฐ์๊ฒฝ์ฐ๋ ์ฑ๊ธํคํจํด์ฒ๋ผ ์ด๋ LogClass๋ฅผ ๋ง๋ค์ด์ Logger๋ฅผ Class๋ง๋ค ๊ณต์ ํด์ ์ธ์ ์๋ ์ฐจ์ด๊ฐ ์๋๊น์..! (๊ธ์ )์ค๋ฌด์์๋ ์ด๋ค์์ผ๋ก ๋ณดํต ์ฐ์ด๋์ง ์ ๋ ๊ถ๊ธํฉ๋๋ค
- 1
- 3
- 1.7K




