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 |
Tags
- 개인 프로젝트
- TypeScript
- 회고
- aws s3
- 구상
- 이력서
- 기획
- MONGOOSE
- CSS
- 개발자 이력서
- 삶
- Javascript
- 신입 개발자
- 대학졸업
- s3 bucket
- 신입
- 백엔드
- 신입 프론트엔드
- 캐플라이어
- 신입 이력서
- 공부
- 계획
- Next.js 13
- 프론트엔드
- Next.js
- react
- 개발
- 개인프로젝트
Archives
- Today
- Total
개발 마라톤
10/23 - Mongoose Scheme 정규식, 조건 정의 본문
Mongoose Scheme 정규식, 조건 정의
프론트엔드는 input 란에서 이벤트 핸들러를 통해 유효성 검사를 진행할 수 있었다.
백엔드에서는 들어온 데이터를 미들웨어 등으로 검사할 수 있을 것 이다.
이번에는 백엔드에서 Scheme 자체에 정규식과 조건을 주어 유효성 검사를 진행하는 방법을 적용해보았다.
1. match 사용
email: {
type: String,
required: true,
unique: true,
match:
/^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i,
},
match 옵션을 사용하여 정규식을 적용할 수 있다.
위의 예시는 Email임을 판별하는 정규식을 적용한 예시이다.
2. validate 사용
preferredTags: {
type: Array<String>,
validate: [
(tags: Array<String>) => {
if (tags.length < 1) return true;
const maxLength = 10;
let isWrong = false;
tags.forEach((tag) => {
if (tag.length > maxLength) {
isWrong = true;
return;
}
});
return isWrong;
},
],
},
validate 옵션을 사용하여 입력 데이터에 조건식을 적용할 수 있다.
위의 예시는 받아온 데이터를 tags라는 매개변수로 받아와,
화살표 함수 내부에서 if나 forEach를 통해 내부 데이터를 검사 후,
Boolean 값을 반환함으로써 데이터를 받아들일 지, 거부할 지를 결정하도록 작성한 예시이다.
'--- Project --- > CharFlyer : 캐플라이어' 카테고리의 다른 글
10/25 - Next.js 13 깔끔한 폴더 구조 (0) | 2023.10.25 |
---|---|
10/24 - RESTful API 고민하기 (0) | 2023.10.24 |
10/20 - Next.js 13 비밀번호 암호화 (0) | 2023.10.20 |
10/19 - uuid 모듈 (1) | 2023.10.19 |
10/18 - S3Client 업로드 시에 TypeError: Second parameter is not an object. (0) | 2023.10.18 |
Comments