customer update optional fields
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
hamid zarghami
2026-07-22 10:11:34 +03:30
parent 81353fc281
commit a2d2234a28
+14 -21
View File
@@ -62,40 +62,33 @@ const UpdateCustomer: FC = () => {
profilePic: '' profilePic: ''
}, },
validationSchema: Yup.object({ validationSchema: Yup.object({
phone: Yup.string().required(t('errors.required')), email: Yup.string().test(
firstName: Yup.string().required(t('errors.required')), 'email',
lastName: Yup.string().required(t('errors.required')), t('errors.email'),
email: Yup.string().email(t('errors.email')).required(t('errors.required')), (value) => !value || Yup.string().email().isValidSync(value)
birthDate: Yup.string().required(t('errors.required')), ),
nationalCode: Yup.string().required(t('errors.required')),
economicCode: Yup.string().required(t('errors.required')),
registrationName: Yup.string().required(t('errors.required')),
registrationCode: Yup.string().required(t('errors.required')),
nationalIdentity: Yup.string().required(t('errors.required')),
postalCode: Yup.string().required(t('errors.required')),
address: Yup.string().required(t('errors.required')),
cityId: Yup.string().required(t('errors.required')),
}), }),
onSubmit: async (values) => { onSubmit: async (values) => {
values.cityId = +values.cityId const payload: Partial<CreateCustomerType> = Object.fromEntries(
if (values.password === '') values.password = undefined Object.entries(values).filter(([, value]) => value !== '' && value !== undefined && value !== null)
) as Partial<CreateCustomerType>
if (payload.cityId !== undefined) payload.cityId = +payload.cityId
if (file) { if (file) {
const formData = new FormData() const formData = new FormData()
formData.append('file', file) formData.append('file', file)
await singleUpload.mutateAsync(formData, { await singleUpload.mutateAsync(formData, {
onSuccess: (data) => { onSuccess: (data) => {
values.profilePic = data?.data?.url payload.profilePic = data?.data?.url
}, },
onError: (error: ErrorType) => { onError: (error: ErrorType) => {
toast(error.response?.data?.error?.message[0], 'error') toast(error.response?.data?.error?.message[0], 'error')
} }
}) })
handleUpdateCustomer(values)
} else {
values.profilePic = undefined
handleUpdateCustomer(values)
} }
handleUpdateCustomer(payload as CreateCustomerType)
} }
}) })