Zod v4

Przetestuj schemat Zod, zanim stanie się kontraktem produkcyjnym

Wklej wyrażenie schematu Zod, uruchom safeParse na danych JSON, sprawdź issues, eksport JSON Schema i TypeScript type snippet w jednym prywatnym workflow przeglądarkowym.

  • Dedykowany worker
  • Wynik safeParse
  • Eksport JSON Schema

Walidacja schema-first bez setupu projektu

Zod jest często najszybszą drogą od reguł walidacji bliskich TypeScriptowi do runtime contract. Ten playground skupia się na pętli decyzyjnej: czy schema przyjmuje payload, jakie issues zwraca, jaki typ będzie inferowany i czy schema da się pokazać jako JSON Schema.

Ewaluacja działa w dedykowanym browser workerze. Payloady nie są wysyłane do backendu; worker jest kończony po timeout, a sieciowe i trwałe API przeglądarki są blokowane dla publicznego playgroundu.

Kiedy ta trasa jest użyteczna

  • Sprawdzanie walidacji formularzy i konfiguracji przed podpięciem w aplikacji.
  • Debuggowanie payloadów API i webhooków bez setupu projektu.
  • Wyjaśnianie, co z.infer pokaże wywołującym w TypeScript.
  • Sprawdzenie, kiedy eksport JSON Schema działa, a kiedy funkcja Zod jest runtime-only.

Uruchom safeParse

Użyj presetu albo wklej własne wyrażenie Zod. Schema powinna zwrócić typ Zod bezpośrednio albo przypisać go do zmiennej schema.

Object schema z uuid, email, enum i polami boolean.

Schema Zod

Używaj namespace z. Przykład: z.object({ email: z.string().email() }).

Payload JSON

Payload musi być poprawnym JSON. Jest parsowany przed uruchomieniem safeParse.

Uruchom safeParse, żeby zobaczyć status walidacji, issues, JSON Schema i TypeScript snippets.

Funkcje Zod runtime-only

Refine, superRefine, preprocess, transform, custom validators i recursive schemas mogą walidować poprawnie, ale nadal być trudne albo niemożliwe do zapisania jako JSON Schema. Playground oznacza takie przypadki zamiast udawać, że type preview jest kompletne.

Zod vs JSON Schema

Zod jest ergonomiczny, gdy developerzy TypeScript kontrolują runtime validator i chcą inferowane typy blisko kodu źródłowego. JSON Schema jest mocniejsze, gdy kontrakt musi przechodzić między językami, usługami i zewnętrznymi narzędziami. Ta trasa pomaga porównać oba widoki na tym samym przykładzie.

FAQ

Czy playground wysyła mój schema albo payload?

Nie. MVP ewaluuje w browser workerze i nie wysyła wklejonych danych do backendu.

Czy expanded type preview jest autorytatywne?

Nie. Kanoniczną ścieżką TypeScript jest kopiowalny snippet z.infer. Expanded preview jest best-effort i oznacza niewspierane konstrukcje.

Dlaczego eksport JSON Schema może się nie udać?

Część funkcji Zod jest logiką runtime, a nie przenośną strukturą schematu. W takich przypadkach wynik safeParse nadal jest użyteczny, ale eksport jest oznaczony jako niewspierany.