mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 05:22:02 +00:00
refactor(FE-208,212): update PurchaseRequestForm validation for area and location fields, enhance error handling and conditional checks
This commit is contained in:
@@ -106,7 +106,10 @@ export const PurchaseRequestFormSchema: Yup.ObjectSchema<PurchaseRequestFormSche
|
||||
}).nullable(),
|
||||
area_id: Yup.number()
|
||||
.required('Area wajib diisi!')
|
||||
.min(1, 'Area wajib diisi!')
|
||||
.test('is-valid-area', 'Area wajib diisi!', function (value) {
|
||||
if (!this.parent.area) return true;
|
||||
return Boolean(value && value > 0);
|
||||
})
|
||||
.typeError('Area wajib diisi!'),
|
||||
location: Yup.object({
|
||||
value: Yup.number().min(1).required(),
|
||||
@@ -114,7 +117,10 @@ export const PurchaseRequestFormSchema: Yup.ObjectSchema<PurchaseRequestFormSche
|
||||
}).nullable(),
|
||||
location_id: Yup.number()
|
||||
.required('Lokasi wajib diisi!')
|
||||
.min(1, 'Lokasi wajib diisi!')
|
||||
.test('is-valid-location', 'Lokasi wajib diisi!', function (value) {
|
||||
if (!this.parent.location) return true;
|
||||
return Boolean(value && value > 0);
|
||||
})
|
||||
.typeError('Lokasi wajib diisi!'),
|
||||
credit_term: Yup.number()
|
||||
.required('Termin kredit wajib diisi!')
|
||||
|
||||
@@ -543,7 +543,7 @@ const PurchaseRequestForm = ({
|
||||
onInputChange={setAreaSelectInputValue}
|
||||
isLoading={isLoadingAreas}
|
||||
isError={
|
||||
formik.touched.area_id && Boolean(formik.errors.area_id)
|
||||
formik.touched.area && Boolean(formik.errors.area_id)
|
||||
}
|
||||
errorMessage={formik.errors.area_id as string}
|
||||
isDisabled={type === 'detail'}
|
||||
@@ -564,8 +564,7 @@ const PurchaseRequestForm = ({
|
||||
onInputChange={setLocationSelectInputValue}
|
||||
isLoading={isLoadingLocations}
|
||||
isError={
|
||||
formik.touched.location_id &&
|
||||
Boolean(formik.errors.location_id)
|
||||
formik.touched.location && Boolean(formik.errors.location_id)
|
||||
}
|
||||
errorMessage={formik.errors.location_id as string}
|
||||
isDisabled={type === 'detail' || !formik.values.area_id}
|
||||
|
||||
Reference in New Issue
Block a user