Sebelum mulai praktik, ada baiknya kita memahami terlebih dahulu apa saja yang membuat Zod menarik untuk digunakan.
Zod dirancang sejak awal untuk TypeScript. Kita menulis schema sekali, lalu tipenya otomatis dapat diturunkan. Dengan demikian, kita tidak perlu memelihara dua hal sekaligus, satu tipe untuk TypeScript dan satu schema untuk validasi.
Dengan seperti ini, kita mendapatkan dua keuntungan sekaligus dari satu sumber kebenaran, yaitu validasi runtime dan tipe compile-time.
API Zod ditulis dengan gaya fluent dan mudah dibaca. Kita dapat merangkai method untuk menambahkan constraint:
Sekali baca, kita sudah memahami maksudnya, yaitu sebuah string dengan panjang minimal 3 karakter, maksimal 20 karakter, dan hanya boleh berisi huruf kecil, angka, serta underscore.
Apabila validasi gagal, Zod mengembalikan sebuah object error yang sangat detail. Kita dapat mengetahui field mana yang gagal, alasannya apa, dan path-nya berada di mana ketika schema-nya bersifat nested atau kompleks.
Pada modul Validasi Lanjutan, kita akan belajar memformat error ini agar mudah ditampilkan di antarmuka.
Schema di Zod dapat dikomposisi. Kita dapat membuat schema kecil, kemudian di-extend atau diturunkan menjadi schema lain. Hal ini yang membuat Zod cocok digunakan pada proyek dengan skala besar. Kita tidak perlu menduplikasi schema, melainkan menurunkan dari schema yang sudah ada.
Dari satu base schema, kita mendapatkan banyak varian untuk berbagai kebutuhan, tanpa duplikasi.
Selain hal-hal di atas, Zod juga memiliki beberapa keunggulan lain yang patut disebutkan:
Singkatnya, apabila kita menulis TypeScript dan membutuhkan validasi pada saat runtime, Zod menjadi salah satu pilihan paling solid yang tersedia saat ini.

Jadilah yang pertama untuk berdiskusi!