Skip to content

Commit 1d7d024

Browse files
committed
update post
1 parent 3cbb970 commit 1d7d024

File tree

7 files changed

+31
-10
lines changed

7 files changed

+31
-10
lines changed

content/posts/프로젝트/당근마켓 클론코딩/당근마켓 클론코딩으로 Validator 사용해보기.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ tags:
55
- validator
66
- zod
77
createdAt: 2025-07-03 13:12:42
8-
modifiedAt: 2025-07-03 13:21:06
8+
modifiedAt: 2025-07-03 13:39:55
99
publish: 프로젝트/당근마켓 클론코딩
1010
related:
1111
- 당근마켓 클론코딩
@@ -15,6 +15,8 @@ series: ""
1515

1616
# 당근마켓 클론코딩으로 Validator 사용해보기
1717

18+
![validator-landing](_assets/attachments/당근마켓%20클론코딩/validator-landing.png)
19+
1820
## Validator과 함께 사용해보기
1921

2022
Validator라이브러리는 간편하게 유효성 검사를 할 수 있는 프리셋 개념의 함수들을 많이 가지고 있다.

content/posts/프로젝트/당근마켓 클론코딩/당근마켓 클론코딩으로 Zod 배우기.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ tags:
55
- study
66
- zod
77
createdAt: 2025-06-30 21:21:49
8-
modifiedAt: 2025-07-03 13:15:37
8+
modifiedAt: 2025-07-03 13:39:02
99
publish: 프로젝트/당근마켓 클론코딩
1010
related:
1111
- "[[당근마켓 클론코딩]]"
@@ -348,7 +348,7 @@ const formSchema = z
348348
});
349349
```
350350

351-
### regex 검증
351+
#### regex 검증
352352

353353
regex를 활용해 검증할수도 있다.
354354

@@ -371,7 +371,7 @@ const formSchema = z.object({
371371
});
372372
```
373373

374-
### 데이터 변환
374+
#### 데이터 변환
375375

376376
입력받은 데이터를 검증하는 기능 외에도 변환하는 기능도 존재한다.
377377

@@ -387,7 +387,7 @@ const formSchema = z.object({
387387
- `toLowerCase`메소드: 입력받은 데이터를 소문자로 변환
388388
- `trim`메소드: 입력받은 데이터의 시작과 끝의 빈 문자열을 삭제해줌
389389

390-
#### transform 메소드
390+
##### transform 메소드
391391

392392
refine과 마찬가지로 함수를 변수로받아 유효성 검사 뒤에 데이터를 변환한다.
393393

@@ -406,6 +406,25 @@ const formSchema = z.object({
406406
});
407407
```
408408

409+
#### coerce 메소드
410+
411+
토큰이나 번호를 넘겨받다 보면 데이터가 숫자인 경오도 혹은 숫자가 문자열 형태로 받아지기도 한다. 특히 ServerAction을 사용하여 숫자들을 넘겨받게 된다면 html에서 타입을 숫자로 지정하더라도 문자열 형태로 받게 된다. 이때 zod 의 coerce가 유용하게 사용된다.
412+
413+
![zod-coerce](_assets/attachments/당근마켓%20클론코딩/zod-coerce.png)
414+
415+
`z.coerce`의 타입을 확인하면 뒤에 몇가지 타입을 지정할수 있는것을 확인할 수 있다.
416+
이 타입들의 역할은 입력받은 데이터를 먼저 해당 타입으로 변환을 시도하는 것을 한다.
417+
418+
```typescript
419+
z.coerce.number().parse("1234");
420+
```
421+
422+
##### 토큰 유효성 검사 예시
423+
424+
```typescript
425+
426+
```
427+
409428
## 참고
410429

411430
- [[당근마켓 클론코딩으로 Validator 사용해보기]]

public/meta-data.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"tags": ["project", "carrot-market", "validator", "zod"],
1919
"series": "",
2020
"createdAt": "2025-07-03 13:12:42",
21-
"modifiedAt": "2025-07-03 13:21:06",
21+
"modifiedAt": "2025-07-03 13:39:55",
2222
"publish": "프로젝트/당근마켓 클론코딩"
2323
},
2424
{
@@ -590,7 +590,7 @@
590590
"tags": ["project", "carrot-market", "study", "zod"],
591591
"series": "",
592592
"createdAt": "2025-06-30 21:21:49",
593-
"modifiedAt": "2025-07-03 13:15:37",
593+
"modifiedAt": "2025-07-03 13:39:02",
594594
"publish": "프로젝트/당근마켓 클론코딩"
595595
},
596596
{
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"content": "\n# 당근마켓 클론코딩으로 Validator 사용해보기\n\n## Validator과 함께 사용해보기\n\nValidator라이브러리는 간편하게 유효성 검사를 할 수 있는 프리셋 개념의 함수들을 많이 가지고 있다.\n\n### 설치\n\n`Validator`는 javascript모듈이기 때문에 설치시 추가로 타입 설치를 해주어야 `typescript`에서 불편함 없이 사용할 수 있다\n\n```bash\nbun add Validator\nbun i -D @types/Validator\n```\n\n### 기본 사용법\n\n사용 방식도 매우 간단하다. Validator 모듈 안의 `isMobilePhone`, `isJWT` 등등 값을 넣으면 boolean 값으로 바로 알려준다.\n\n```typescript\nimport { isMobilePhone } from \"Validator\";\n\nconst phone = \"010-1234-1234\";\n\nisMobilePhone(phone);\n```\n\n### Zod와 함께 사용하기\n\n[[당근마켓 클론코딩으로 Zod 배우기#refine 메소드]]를 활용하면 매우 간편하게 추가적인 유효성 검증을 실행할 수 있다.\n\n```typescript\nimport { z } from \"zod\";\nimport validator from \"validator\";\n\nconst phoneSchema = z.string().trim().refine(validator.isMobilePhone);\n```\n",
2+
"content": "\n# 당근마켓 클론코딩으로 Validator 사용해보기\n\n![validator-landing](_assets/attachments/당근마켓%20클론코딩/validator-landing.png)\n\n## Validator과 함께 사용해보기\n\nValidator라이브러리는 간편하게 유효성 검사를 할 수 있는 프리셋 개념의 함수들을 많이 가지고 있다.\n\n### 설치\n\n`Validator`는 javascript모듈이기 때문에 설치시 추가로 타입 설치를 해주어야 `typescript`에서 불편함 없이 사용할 수 있다\n\n```bash\nbun add Validator\nbun i -D @types/Validator\n```\n\n### 기본 사용법\n\n사용 방식도 매우 간단하다. Validator 모듈 안의 `isMobilePhone`, `isJWT` 등등 값을 넣으면 boolean 값으로 바로 알려준다.\n\n```typescript\nimport { isMobilePhone } from \"Validator\";\n\nconst phone = \"010-1234-1234\";\n\nisMobilePhone(phone);\n```\n\n### Zod와 함께 사용하기\n\n[[당근마켓 클론코딩으로 Zod 배우기#refine 메소드]]를 활용하면 매우 간편하게 추가적인 유효성 검증을 실행할 수 있다.\n\n```typescript\nimport { z } from \"zod\";\nimport validator from \"validator\";\n\nconst phoneSchema = z.string().trim().refine(validator.isMobilePhone);\n```\n",
33
"plainContent": "Validator라이브러리는 간편하게 유효성 검사를 할 수 있는 프리셋 개념의 함수들을 많이 가지고 있다.\nValidator는 javascript모듈이기 때문에 설치시 추가로 타입 설치를 해주어야 typescript에서 불편함 없이 사용할 수 있다\n사용 방식도 매우 간단하다. Validator 모듈 안의 isMobilePhone, isJWT 등등 값을 넣으면 boolean 값으로 바로 알려준다.\n당근마켓 클론코딩으로 Zod 배우기#refine 메소드를 활용하면 매우 간편하게 추가적인 유효성 검증을 실행할 수 있다."
44
}

public/post-contents/프로젝트/당근마켓 클론코딩/당근마켓 클론코딩으로 Zod 배우기.json

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.
Loading
187 KB
Loading

0 commit comments

Comments
 (0)