import { z } from 'zod' const VaccineDataSchema = z.object({ sepStatus: z.string({ required_error: 'Mohon isi status SEP', }).default('SEP Internal'), unit_code: z.string({ required_error: 'Mohon isi Unit', }), specialist_code: z.string({ required_error: 'Mohon isi Spesialis', }), subspecialist_code: z.string({ required_error: 'Mohon isi Sub Spesialis', }), doctor_code: z.string({ required_error: 'Mohon isi DPJP', }), encounter_code: z.string().optional(), date: z.string({ required_error: 'Mohon lengkapi Tanggal Kontrol', }) .refine( (date) => { // Jika kosong, return false untuk required validation if (!date || date.trim() === '') return false // Jika ada isi, validasi format tanggal try { const dateObj = new Date(date) // Cek apakah tanggal valid dan tahun >= 1900 return !isNaN(dateObj.getTime()) && dateObj.getFullYear() >= 1900 } catch { return false } }, { message: 'Mohon lengkapi Tanggal Kontrol dengan format yang valid', }, ) .transform((dateStr) => new Date(dateStr).toISOString()), }) type VaccineDataFormData = z.infer export { VaccineDataSchema } export type { VaccineDataFormData }