June 22, 2024 zod
Cara Validasi String Tidak Boleh Kosong di Zod
Secara default semua properti pada zod schema itu required. Required artinya harus ada meskipun nilainya kosong.
Untuk mengatasinya ada dua validasi method yang harus ditambahkan:
trim
untuk menghapus whitespacemin(1)
untuk mengecek minimal panjang string adalah 1
Contoh.
import { z } from 'zod';
const schema = z.object({
name: z.string()
.trim()
.min(1, { message: 'nama tidak boleh kosong' }),
description: z.string()
})
schema.parse({ name: '', description: '' }) // throws error
schema.parse({ name: ' ', description: '' }) // throws error
schema.parse({ name: 'Dobleh', description: '' }) // success
Sebelumnya ada method
nonempty
untuk string tapi sudah deprecated.
Sumber:
- https://zod.dev/
- https://github.com/colinhacks/zod/discussions/2847
- https://github.com/colinhacks/zod/issues/63