0Pricing
tRPC End-to-End Type Safe APIs · 강의

Zod 데이터 변환과 세부 검증

기본 검증을 넘어 파싱된 값을 변환하고 Zod로 사용자 지정 세부 검증 규칙을 추가합니다.

Zod 데이터 변환과 세부 검증은(는) CoddyKit의 무료 tRPC End-to-End Type Safe APIs 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 tRPC End-to-End Type Safe APIs 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. tRPC End-to-End Type Safe APIs 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

Beyond Pass/Fail

Zod does more than accept or reject data. It can transform valid input into a cleaner shape and apply custom rules that built-in validators cannot express.

The transform Method

.transform() changes a value after it passes validation, producing a new output type.

const trimmed = z.string().transform((s) => s.trim());
trimmed.parse("  hi  "); // "hi"

Coercing Types

Zod can coerce inputs, useful for query strings that arrive as text but should be numbers.

const page = z.coerce.number().int().positive();
page.parse("5"); // 5 as a number

Default Values

Provide a fallback when a field is missing.

const schema = z.object({
  limit: z.number().default(20),
});
schema.parse({}); // { limit: 20 }

Custom Refinements

.refine() adds a custom boolean check with a message when it fails.

const password = z.string().refine(
  (val) => val.length >= 8,
  { message: "Too short" }
);

Cross-Field Validation

Refine an object to compare two fields, like confirming a password.

const form = z.object({
  pw: z.string(),
  confirm: z.string(),
}).refine((d) => d.pw === d.confirm, {
  message: "Passwords must match",
  path: ["confirm"],
});

superRefine for Multiple Errors

.superRefine() lets you push several issues in one pass for richer validation.

const s = z.string().superRefine((val, ctx) => {
  if (!/[A-Z]/.test(val)) ctx.addIssue({ code: "custom", message: "Need uppercase" });
  if (!/[0-9]/.test(val)) ctx.addIssue({ code: "custom", message: "Need digit" });
});

Chaining Transforms

Validation and transformation chain in order.

const slug = z.string()
  .min(1)
  .transform((s) => s.toLowerCase().replace(/\s+/g, "-"));
slug.parse("Hello World"); // "hello-world"

Input vs Output Types

After a transform, the input type and output type differ. Use z.input and z.output to read each.

type In = z.input<typeof page>;   // string | number
type Out = z.output<typeof page>; // number

Safe Parsing

Use safeParse to get a result object instead of throwing, ideal for handling errors gracefully.

const r = password.safeParse("short");
if (!r.success) console.log(r.error.issues);

Pipe for Validate-then-Transform

Use .pipe() to first coerce or transform a value and then run further validation on the result.

const id = z.string().transform(Number).pipe(z.number().int());

Quick Check

Test your Zod knowledge.

Recap

You leveled up your Zod schemas:

  • transform and coerce reshape valid data
  • refine / superRefine add custom and cross-field rules
  • safeParse handles errors without throwing

These tools turn Zod into a powerful data shaping and validation layer.

자주 묻는 질문

“Zod 데이터 변환과 세부 검증” 강의는 무료인가요?

네 — “Zod 데이터 변환과 세부 검증” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 tRPC End-to-End Type Safe APIs 강의 전체를 잠금 해제할 수 있습니다. tRPC End-to-End Type Safe APIs 강의에는 총 4개의 강의가 포함되어 있습니다.

“Zod 데이터 변환과 세부 검증”에서 뭘 배우나요?

기본 검증을 넘어 파싱된 값을 변환하고 Zod로 사용자 지정 세부 검증 규칙을 추가합니다. 브라우저에서 직접 실행하는 실습 코드로 tRPC End-to-End Type Safe APIs을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

tRPC End-to-End Type Safe APIs을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 tRPC End-to-End Type Safe APIs은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“Zod 데이터 변환과 세부 검증” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 tRPC End-to-End Type Safe APIs 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 tRPC End-to-End Type Safe APIs 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Zod 스키마 소개
  2. 복잡한 Zod 스키마 정의
  3. tRPC 절차에 Zod 연동
  4. Zod 데이터 변환과 세부 검증
← tRPC End-to-End Type Safe APIs(으)로 돌아가기