노승현
Validator 본문
[사용자의 입력값 검증]
사용자가 입력ㄱ밧을 요청에 넣어서 보냈을 때,
최소한의 조건을 만족한 값인지 확인하는
Spring 의 기본제공기능
-> 유효성 검증 객체 Validator
webapp 하위에 VIEW 파일
WEB-INF 하위에 VIEW 파일을 두는 이유는? -> 사용자의 직접 접근을 막기 위해
- @ModelAttribute(“이름”) 이름 정해서 활용
package com.koreait.day072;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import jakarta.validation.Valid;
@Controller
public class TestController {
@RequestMapping("/")
public String root() {
return "index";
}
@RequestMapping("/test")
public @ResponseBody String test(@Valid @ModelAttribute("member") MemberDTO mDTO, BindingResult result, Model model) {
System.out.println(mDTO);
// 결합도가 높은 코드 -> 별로
// MemberDTOValidation validator=new MemberDTOValidation();
// validator.validate(mDTO, result);
if (result.hasErrors()) {
if (result.getFieldError("name") != null) {
System.out.println(result.getFieldError("name").getDefaultMessage());
}
if (result.getFieldError("age") != null) {
System.out.println(result.getFieldError("age").getDefaultMessage());
}
return "index";
}
// model.addAttribute("name", mDTO.getName());
// model.addAttribute("age", mDTO.getAge());
return "main";
}
// 결합도가 낮은 코드
// @InitBinder
// void initBinder(WebDataBinder binder) {
// binder.setValidator(new MemberDTOValidation());
// }
}
'Spring' 카테고리의 다른 글
myBatis 로 필터검색 이관하기 (0) | 2024.04.10 |
---|---|
MyBatis (1) (1) | 2024.03.26 |
Spring Controller 변환 과정 (0) | 2024.03.12 |
Spring 통합 질문 (0) | 2024.03.08 |
Spring 이관 및 boot 실행 (0) | 2024.03.08 |