From 054323978cec12a7274ffe8dc8656e16d4f87e08 Mon Sep 17 00:00:00 2001 From: "Siddhesh.More" Date: Fri, 11 Oct 2024 13:35:50 +0530 Subject: [PATCH] update --- src/Pages/Fawateer/CreateRequest.jsx | 38 +++++++++++++++------- src/Pages/Fawateer/SelectInvestorModal.jsx | 4 +-- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/Pages/Fawateer/CreateRequest.jsx b/src/Pages/Fawateer/CreateRequest.jsx index 99f8e51..43a4c29 100644 --- a/src/Pages/Fawateer/CreateRequest.jsx +++ b/src/Pages/Fawateer/CreateRequest.jsx @@ -21,8 +21,17 @@ import { useNavigate } from "react-router-dom"; const validationSchema = Yup.object().shape({ investorName: Yup.string().required("Investor name is required"), clientId: Yup.string().required("Client ID is required"), - transaction_date: Yup.date().required("Date is required").max(new Date(), "Date cannot be in the future"), - transaction_amount: Yup.number().required("Amount is required").positive("Amount must be positive"), + transaction_date: Yup.date() + .required('Date is required') + .transform((value, originalValue) => { + return originalValue === "" ? null : value; // Convert empty strings to null + }) + .typeError('Please enter a valid date').max(new Date(), "Date cannot be in the future"), + transaction_amount: Yup.number() + .required("Transaction amount is required") + .transform((value, originalValue) => originalValue === "" ? null : value) // Convert empty strings to null + .typeError('Transaction amount must be a number') // Custom error message if it's not a number + .positive('Transaction amount must be greater than zero'), spportFile_path: Yup.mixed().required("Support file is required"), makerComment: Yup.string().required("Description is required"), }); @@ -52,10 +61,15 @@ const CreateRequest = () => { // Convert data to FormData const formData = new FormData(); - // Append each field from the data object to the FormData - Object.keys(data).forEach((key) => { - formData.append(key, data[key]); // Append other fields - }); + // Append each field from the data object to the FormData + Object.keys(data).forEach((key) => { + if (key === "spportFile_path" && data[key] instanceof FileList) { + // Append the first file from FileList (assuming single file input) + formData.append(key, fileType); // This extracts the first file + } else { + formData.append(key, data[key]); // Append other fields + } + }); try { // Make the API call with formData @@ -137,7 +151,7 @@ const CreateRequest = () => { onSubmit={handleSubmit(onSubmit)} > {/* Investor Name Field */} - + Investor name @@ -162,7 +176,7 @@ const CreateRequest = () => { {/* Client ID Field */} - + Client Id @@ -181,7 +195,7 @@ const CreateRequest = () => { {/* Date Field */} - + Date @@ -199,7 +213,7 @@ const CreateRequest = () => { {/* Amount Field */} - + Amount @@ -217,7 +231,7 @@ const CreateRequest = () => { {/* Support File Field with Preview */} - + Support file @@ -258,7 +272,7 @@ const CreateRequest = () => { {/* Description Field */} - + Description diff --git a/src/Pages/Fawateer/SelectInvestorModal.jsx b/src/Pages/Fawateer/SelectInvestorModal.jsx index f5e805f..7d1384c 100644 --- a/src/Pages/Fawateer/SelectInvestorModal.jsx +++ b/src/Pages/Fawateer/SelectInvestorModal.jsx @@ -215,7 +215,7 @@ console.log(investor); - + />}