diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json
index 6dc116b..fef9ea8 100644
--- a/public/locales/fa/app.json
+++ b/public/locales/fa/app.json
@@ -135,6 +135,7 @@
},
"LoanRequest": {
"finish_loan_request": "درخواست شما با موفقیت ثبت شد",
+ "button_while_submit": "درحال بارگذاری ...",
"checkbox": "بدینوسیله صحت کلیه اطلاعات مندرج در این فرم را تایید و گواهی میدهم .",
"back_to_dashboard": "پیگیری درخواست ها",
"cityList_empty": "ابتدا استان را وارد کنید",
diff --git a/src/components/dashboard/navgan/add-request-loan/forms/AddForm.jsx b/src/components/dashboard/navgan/add-request-loan/forms/AddForm.jsx
index e92333f..abbdb13 100644
--- a/src/components/dashboard/navgan/add-request-loan/forms/AddForm.jsx
+++ b/src/components/dashboard/navgan/add-request-loan/forms/AddForm.jsx
@@ -78,7 +78,7 @@ const AddFormComponent = () => {
.required(
t("LoanRequest.error_message_postal_code")
),
- plate_part1: Yup.mixed()
+ plate_part1: Yup.mixed().test("max", `${t("LoanRequest.error_message_plate_number")}`, (value) => value.toString().length === 2)
.required(
t("LoanRequest.error_message_plate_number")
),
@@ -86,11 +86,11 @@ const AddFormComponent = () => {
.required(
t("LoanRequest.error_message_plate_number")
),
- plate_part3: Yup.mixed()
+ plate_part3: Yup.mixed().test("max", `${t("LoanRequest.error_message_plate_number")}`, (value) => value.toString().length === 3)
.required(
t("LoanRequest.error_message_plate_number")
),
- plate_part4: Yup.mixed()
+ plate_part4: Yup.mixed().test("max", `${t("LoanRequest.error_message_plate_number")}`, (value) => value.toString().length === 2)
.required(
t("LoanRequest.error_message_plate_number")
),
@@ -103,14 +103,12 @@ const AddFormComponent = () => {
.test("positive", `${t("LoanRequest.national_code_positive")}`, (value) => value >= 0)
.test("max", `${t("LoanRequest.national_code_max")}`, (value) => value.toString().length === 10)
.required(t("LoanRequest.error_message_national_id")),
- national_serial_number: Yup.mixed()
- .test("max", `${t("LoanRequest.shenasname_serial_max")}`, (value) => value.toString().length === 10)
- .required(t("LoanRequest.error_message_shenasname_serial")
- ),
+ national_serial_number: Yup.string().required(t("LoanRequest.error_message_shenasname_serial")),
});
const handleSubmit = async (values, props) => {
+ props.setSubmitting(true)
const formData = new FormData();
formData.append("telephone_number", values.telephone_number);
formData.append("navgan_type", values.navgan_type);
@@ -130,7 +128,7 @@ const AddFormComponent = () => {
formData.append("education_id", values.education_id);
formData.append("occupation_id", values.occupation_id);
- requestServer(SEND_LOAN_REQUEST_NAVGAN, "post", {
+ await requestServer(SEND_LOAN_REQUEST_NAVGAN, "post", {
auth: true, notification: true, data: {
telephone_number: values.telephone_number,
vehicle_type: values.vehicle_type,
@@ -153,6 +151,7 @@ const AddFormComponent = () => {
}).then(() => {
setFinishLoanRequest(true)
}).catch(() => {
+ }).finally(() => {
props.setSubmitting(false)
})
};
@@ -187,7 +186,8 @@ const AddFormComponent = () => {
name="national_id"
variant="outlined"
size="small"
- type={"number"}
+ inputProps={{inputMode: 'numeric', pattern: '[0-9]*'}}
+ type={'tel'}
onChange={formik.handleChange}
label={t("LoanRequest.text_field_national_code")}
placeholder={t(
@@ -231,7 +231,8 @@ const AddFormComponent = () => {
sx={{width: "100%"}}
name="postal_code"
variant="outlined"
- type={'number'}
+ inputProps={{inputMode: 'numeric', pattern: '[0-9]*'}}
+ type={'tel'}
onChange={formik.handleChange}
size="small"
label={t("LoanRequest.text_field_postal_code")}
@@ -314,7 +315,8 @@ const AddFormComponent = () => {
sx={{width: "100%"}}
name="navgan_id"
variant="outlined"
- type={'number'}
+ inputProps={{inputMode: 'numeric', pattern: '[0-9]*'}}
+ type={'tel'}
onChange={formik.handleChange}
size="small"
label={t("LoanRequest.text_field_navgan_id")}
@@ -500,7 +502,9 @@ const AddFormComponent = () => {
endIcon={}
disabled={formik.values.checkedBox ? (formik.isSubmitting || !formik.dirty || !formik.isValid) : true}
>
- {t("LoanRequest.button_submit")}
+ {formik.isSubmitting
+ ? t("LoanRequest.button_while_submit")
+ : t("LoanRequest.button_submit")}
>
diff --git a/src/core/components/PlateNumber.jsx b/src/core/components/PlateNumber.jsx
index b2b365e..caf96be 100644
--- a/src/core/components/PlateNumber.jsx
+++ b/src/core/components/PlateNumber.jsx
@@ -135,7 +135,7 @@ const PlateNumber = ({formik}) => {
borderRadius: 1
}}>
event.target.value.length <= 2 ? formik.setFieldValue("plate_part4", event.target.value) : null}
size={'small'}
@@ -146,7 +146,7 @@ const PlateNumber = ({formik}) => {
error={formik.touched.plate_part4 && Boolean(formik.errors.plate_part4)}
/>
event.target.value.length <= 3 ? formik.setFieldValue("plate_part3", event.target.value) : null}
size={'small'}
@@ -206,7 +206,7 @@ const PlateNumber = ({formik}) => {
event.target.value.length <= 2 ? formik.setFieldValue("plate_part1", event.target.value) : null}
size={'small'}