18 lines
982 B
TypeScript
18 lines
982 B
TypeScript
import { z } from 'zod'
|
|
|
|
const ItemSchema = 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'),
|
|
itemGroup_code: z.string({ required_error: 'Item Group harus diisi' }).min(1, 'Item Group harus diisi'),
|
|
uom_code: z.string({ required_error: 'UOM harus diisi' }).min(1, 'UOM harus diisi'),
|
|
infra_code: z.string({ required_error: 'Infra harus diisi' }).optional(),
|
|
stock: z.number({ required_error: 'Stok harus diisi' }).min(0, 'Stok tidak boleh kurang dari 0').optional(),
|
|
buyingPrice: z.number({ required_error: 'Harga Beli harus diisi' }).min(0, 'Harga Beli tidak boleh kurang dari 0').optional(),
|
|
sellingPrice: z.number({ required_error: 'Harga Jual harus diisi' }).min(0, 'Harga Jual tidak boleh kurang dari 0').optional(),
|
|
})
|
|
|
|
type ItemFormData = z.infer<typeof ItemSchema>
|
|
|
|
export { ItemSchema }
|
|
export type { ItemFormData }
|