diff --git a/src/components/pages/inventory/movement/form/MovementForm.schema.ts b/src/components/pages/inventory/movement/form/MovementForm.schema.ts index 048b1bd2..1a29fa94 100644 --- a/src/components/pages/inventory/movement/form/MovementForm.schema.ts +++ b/src/components/pages/inventory/movement/form/MovementForm.schema.ts @@ -110,6 +110,14 @@ const DeliveryProductObjectSchema = Yup.object({ .typeError('Qty harus berupa angka!'), }); +const DeliveryDocumentSchema = Yup.mixed() + .nullable() + .test('fileSize', 'Ukuran dokumen maksimal 5 MB', (value): boolean => { + if (!value) return true; + if (value instanceof File) return value.size <= 5 * 1024 * 1024; + return true; + }); + const DeliveryObjectSchema: Yup.ObjectSchema = Yup.object({ delivery_cost: Yup.number() .transform((value) => (isNaN(value) || value === 0 ? undefined : value)) @@ -135,13 +143,7 @@ const DeliveryObjectSchema: Yup.ObjectSchema = Yup.object({ }), document_path: Yup.string().nullable().optional(), document_index: Yup.number().optional(), - document: Yup.mixed() - .nullable() - .test('fileSize', 'Ukuran dokumen maksimal 5 MB', (value) => { - if (!value) return true; - if (value instanceof File) return value.size <= 5 * 1024 * 1024; - return true; - }), + document: DeliveryDocumentSchema, driver_name: Yup.string().required('Nama sopir wajib diisi!'), vehicle_plate: Yup.string().required('Plat nomor wajib diisi!'), supplier: Yup.object({