Files
simrsx-fe/app/schemas/division-position.schema.ts
2025-11-11 14:07:46 +07:00

21 lines
891 B
TypeScript

import { z } from 'zod'
import type { DivisionPosition } from '~/models/division-position'
const DivisionPositionSchema = 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'),
headStatus: z.boolean().optional().nullable(),
division_code: z.union([
z.string({ required_error: 'Divisi Induk harus diisi' }),
z.number({ required_error: 'Divisi Induk harus diisi' })
]).optional().nullable(),
employee_id: z.union([
z.string({ required_error: 'Karyawan harus diisi' }),
z.number({ required_error: 'Karyawan harus diisi' })
]).optional().nullable(),
})
type DivisionPositionFormData = z.infer<typeof DivisionPositionSchema> & Partial<DivisionPosition>
export { DivisionPositionSchema }
export type { DivisionPositionFormData }