검증
-
Spring MVC - 검증(Validation)에 errors MessageSource 사용Spring/Spring MVC 2022. 2. 6. 16:25
검증(Validation)에 errors MessageSource 사용 검증에 위반할 때 오류 코드에 대한 defaultMessage를 매번 적어서 사용하는 것보단 메시지 파일을 만들어 체계적으로 다루는 방법이 효율적이다. errors.properties 메시지 파일을 만들어 어떻게 이용하는지 점진적으로 하나씩 알아보자. MessageSource 설정 추가 MessageSource가 자동으로 errors.properties 파일을 읽어오기 위한 설정을 추가해야 한다. application.properties spring.messages.basename=messages,errors ▶ MessageSource는 기본으로 messages.properties만 읽어온다. 따라서 errors.propertie..
-
Spring MVC - 스프링에서 제공하는 검증(Validation) 방법 (FieldError, ObjectError)Spring/Spring MVC 2022. 2. 5. 23:21
스프링에서 제공하는 검증(Validation) 방법 BindingResult 스프링에서 제공하는 검증 방법의 핵심 검증 오류를 보관하는 객체, 검증 오류가 발생 시 BindingResult에 보관 Model에 자동으로 저장해준다. 바인딩시 데이터 타입 오류가 발생해도 컨트롤러를 호출해 준다. - BindingResult 미사용 → 400 오류 페이지로 이동된다. - BindingResult 사용 → 오류 정보(FieldError)를 BindingResult에 담아서 컨트롤러 호출 BindingResult에 검증 오류를 적용하는 3가지 방법 1. @ModelAttribute의 객체에 타입 오류 등으로 바인딩이 실패하는 경우 스프링이 FieldError를 생성하여 BindingResult에 넣어준다. 2. ..
-
Spring MVC - 검증(Validation) 직접 구현하기Spring/Spring MVC 2022. 2. 5. 21:25
검증(Validation) 검증 방법은 2가지가 있다. 클라이언트 검증과 서버 검증이 있는데 둘의 장단점이 존재한다. 클라이언트 검증은 조작할 수 있으므로 보안에 취약하다. - ex) Postman으로 클라이언트 검증없이 요청이 가능 서버만에서만 검증하면, 즉각적인 고객 사용성이 부족해진다. - 사용자가 입력 폼을 작성할 때 실시간으로 검증 오류를 나타낼수 없다. 둘을 적절히 섞어서 사용하는게 좋다. 다만 최종적으로 서버 검증은 필수 API 방식을 사용하면 API 스펙을 잘 정의해서 검증 오류를 API 응답 결과에 잘 남겨줘야 한다. 검증을 사용할 때 주의할 점이 있는데 웹 애플리케이션은 폼 입력시 숫자를 문자로 작성하거나해서 검증 오류가 발생하면 오류 화면(4xx 상태 코드)으로 바로 이동한다. 이렇게..