15 lines
693 B
TypeScript
15 lines
693 B
TypeScript
import { z } from 'zod'
|
|
|
|
const schema = z.object({
|
|
code: z.string({ required_error: 'Kode harus diisi' }).min(1, 'Kode minimum 1 karakter'),
|
|
name: z.string({ required_error: 'Nama harus diisi' }).min(1, 'Nama minimum 1 karakter'),
|
|
uom_code: z.string({ required_error: 'Kode unit harus diisi' }).min(1, 'Kode unit harus diisi'),
|
|
item_id: z.string({ required_error: 'Tipe harus diisi' }).min(1, 'Tipe harus diisi'),
|
|
stock: z.preprocess((val) => Number(val), z.number({ invalid_type_error: 'Stok harus berupa angka' }).min(1, 'Stok harus lebih besar dari 0')),
|
|
})
|
|
|
|
type formData = z.infer<typeof schema>
|
|
|
|
export { schema as MaterialSchema }
|
|
export type { formData as MaterialFormData }
|