콘텐츠로 이동

[오류 우선순위](https://zod.dev/error-customization?id=error-precedence)

  • 영어 기술 문서를 자연스럽고 정확한 한국어로 번역했습니다.
  • 요청하신 대로 마크다운 구조, 헤딩, 리스트, 테이블, 코드 블록 등 포맷을 그대로 유지했으며, URL 및 코드/플래그/파일 경로 등은 변경하지 않았습니다.

모든 로케일은 "zod"에서 z.locales로 내보내지므로 편리하게 사용할 수 있습니다. 일부 번들러에서는 tree-shake되지 않을 수 있습니다.

ZodZod Mini

import * as z from "zod";
z.config(z.locales.en());

사용 가능한 로케일은 다음과 같습니다:

  • ar — 아랍어
  • az — 아제르바이잔어
  • be — 벨라루스어
  • bg — 불가리아어
  • ca — 카탈루냐어
  • cs — 체코어
  • da — 덴마크어
  • de — 독일어
  • en — 영어
  • eo — 에스페란토어
  • es — 스페인어
  • fa — 페르시아어
  • fi — 핀란드어
  • fr — 프랑스어
  • frCA — 캐나다 프랑스어
  • he — 히브리어
  • hu — 헝가리어
  • hy — 아르메니아어
  • id — 인도네시아어
  • is — 아이슬란드어
  • it — 이탈리아어
  • ja — 일본어
  • ka — 조지아어
  • km — 크메르어
  • ko — 한국어
  • lt — 리투아니아어
  • mk — 마케도니아어
  • ms — 말레이어
  • nl — 네덜란드어
  • no — 노르웨이어
  • ota — 터크어
  • ps — 파슈토어
  • pl — 폴란드어
  • pt — 포르투갈어
  • ru — 러시아어
  • sl — 슬로베니아어
  • sv — 스웨덴어
  • ta — 타밀어
  • th — 태국어
  • tr — 터키어
  • uk — 우크라이나어
  • ur — 우르두어
  • uz — 우즈베크어
  • vi — 베트남어
  • zhCN — 간체 중국어
  • zhTW — 번체 중국어
  • yo — 요루바어

다음은 오류 우선순위를 빠르게 참고할 수 있는 요약입니다. 여러 커스텀 오류가 정의되어 있을 때 어떤 것이 우선권을 갖는지, 높은 순위 → 낮은 순위 순서입니다:

  1. 스키마 수준 오류 — 스키마 정의에 “하드코딩”된 오류 메시지입니다.
z.string("문자열이 아닙니다!");
  1. 개별 파싱 오류.parse() 메서드에 넘기는 커스텀 오류 맵입니다.
z.string().parse(12, {
error: (iss) => "나만의 커스텀 오류"
});
  1. 전역 오류 맵z.config()에 전달되는 커스텀 오류 맵입니다.
z.config({
customError: (iss) => "나만의 커스텀 오류"
});
  1. 로케일 오류 맵z.config()에 전달되는 로케일별 커스텀 오류 맵입니다.
z.config(z.locales.en());