강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김택수님의 프로필 이미지
김택수

작성한 질문수

탄탄한 백엔드 NestJS, 기초부터 심화까지

DB 스키마, Controller 설계 & validation

name: string에 IsString 데코레이터를 달아주는 이유가 궁금합니다.

작성

·

405

1

크리티컬한 문제는 아니지만 단순히 궁금해져서 질문드립니다!

email의 경우 type은 string이지만 형식에 대한 유효성검사를 위해 @IsEmail 데코레이터를 달아주는 것으로 이해했는데

같은 맥락에서 name의 경우 string이고, 형식에 대한 유효성검사를 할 필요가 없다고 느껴지는데 이미 string으로 type을 정해준 상태에서 @IsString 데코레이터를 추가해주는 이유가 궁금합니다!

단순히 name이라는 schema를 지정해주기 위해 name: string을 했다면, 굳이 데코레이터가 들어가지 않아도 된다고 생각되어서요! 

답변 1

0

윤상석님의 프로필 이미지
윤상석
지식공유자

안녕하세요! 

에러 핸들링을 하기 위함입니다! 만일 name에서 에러가 났을때 

name: string으로 가기 전에 @IsString에서 에러 검사를 해서 막아줍니다. 

이때 @IsString({message : "올바른 형식으로 작성해주세요"}) 와 같이 에러 메세지 또한 작성할 수 있습니다. 

이처럼 사용자 편의에 맞게 에러를 핸들링하기 위함 + 최종 DB에서 에러 핸들링 전에 한 번 더 검사  + 다른 속성과 같은 레이어에서 검사하기 위함

이라고 생각하시면 됩니다.

김택수님의 프로필 이미지
김택수
질문자

답변 감사드립니다!

간단하게 이해하기를 에러핸들링을 여러번 거치는것이라고 이해했는데 이렇게 이해하는게 맞을까요?

김택수님의 프로필 이미지
김택수

작성한 질문수

질문하기