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:

  1. trim untuk menghapus whitespace
  2. min(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: