diff --git a/src/components/pages/inventory/movement/form/MovementForm.schema.ts b/src/components/pages/inventory/movement/form/MovementForm.schema.ts index 0bc0397c..f606b0c5 100644 --- a/src/components/pages/inventory/movement/form/MovementForm.schema.ts +++ b/src/components/pages/inventory/movement/form/MovementForm.schema.ts @@ -59,7 +59,15 @@ const EkspedisiObjectSchema: Yup.ObjectSchema = Yup.object({ supplier_id: Yup.number().required('Supplier wajib diisi!'), plat_nomor: Yup.string().required('Plat nomor wajib diisi!'), no_surat_jalan: Yup.string().required('No surat jalan wajib diisi!'), - dokumen: Yup.mixed().required('Dokumen wajib diisi!'), + dokumen: Yup.mixed() + .required('Dokumen wajib diisi!') + .test( + 'fileSize', + 'Ukuran dokumen maksimal 2 MB!', + (value) => + typeof value === 'string' || + (value instanceof File && value.size <= 2 * 1024 * 1024) + ), biaya_ekspedisi: Yup.number() .required('Biaya ekspedisi wajib diisi!') .min(0, 'Biaya minimal 0!') diff --git a/src/components/pages/inventory/movement/form/MovementForm.tsx b/src/components/pages/inventory/movement/form/MovementForm.tsx index db432a4d..772f70d5 100644 --- a/src/components/pages/inventory/movement/form/MovementForm.tsx +++ b/src/components/pages/inventory/movement/form/MovementForm.tsx @@ -817,6 +817,10 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => { onChange={(e) => { const file = e.target.files?.[0]; if (file) { + if (file.size > 2 * 1024 * 1024) { + toast.error('Ukuran dokumen maksimal 2 MB!'); + return; + } formik.setFieldValue( `ekspedisi.${idx}.dokumen`, file