diff --git a/src/components/dashboard/user-management/Form/AddForm.jsx b/src/components/dashboard/user-management/Form/AddForm.jsx
index c0021e8..6014c8d 100644
--- a/src/components/dashboard/user-management/Form/AddForm.jsx
+++ b/src/components/dashboard/user-management/Form/AddForm.jsx
@@ -26,37 +26,34 @@ const AddForm = ({mutate, fetchUrl}) => {
const requestServer = useRequest({auth: true})
const [openConfirmDialog, setOpenConfirmDialog] = useState(false);
const validationSchema = Yup.object().shape({
- phone_number: Yup.mixed().test(
- "is-number",
- `${t("AddDialog.phone_number_number")}`,
- (value) => !isNaN(value)
- ).test("positive", `${t("AddDialog.phone_number_positive")}`, (value) => value >= 0)
+ phone_number: Yup.mixed().test("is-number", `${t("AddDialog.phone_number_number")}`, (value) => !isNaN(value)).test("positive", `${t("AddDialog.phone_number_positive")}`, (value) => value >= 0)
.test("max", `${t("AddDialog.phone_number_max")}`, (value) => value.length <= 11)
.required(t("AddDialog.phone_number_error")),
- national_id: Yup.mixed().test(
- "is-number",
- `${t("AddDialog.national_id_number")}`,
- (value) => !isNaN(value)
- ).test("positive", `${t("AddDialog.national_id_positive")}`, (value) => value >= 0)
+ national_id: Yup.mixed().test("is-number", `${t("AddDialog.national_id_number")}`, (value) => !isNaN(value)).test("positive", `${t("AddDialog.national_id_positive")}`, (value) => value >= 0)
.test("max", `${t("AddDialog.national_id_max")}`, (value) => value.length <= 10)
.required(t("AddDialog.national_id_error")),
type_id: Yup.number().required(t("AddDialog.type_id_error")),
- navgan_id: Yup.number().required(t("AddDialog.navgan_id_error")),
+ navgan_id: Yup.number().when('type_id', {
+ is: 1, // Condition: Check if type_id is equal to 1
+ then: (schema) => schema.required(t("AddDialog.navgan_id_error")),
+ otherwise: (schema) => schema, // No validation for navgan_id when type_id is not 1
+ })
});
+ // validationSchema.describe({value: {type_id: true}});
+
const formik = useFormik({
initialValues: {
phone_number: "",
national_id: "",
type_id: "",
navgan_id: "",
- }, validationSchema,
- onSubmit: (values, {setSubmitting}) => {
+ }, validationSchema, onSubmit: (values, {setSubmitting}) => {
const formData = new FormData();
formData.append("phone_number", values.phone_number);
formData.append("national_id", values.national_id);
formData.append("type_id", values.type_id);
- formData.append("navgan_id", values.navgan_id);
+ if (formik.values.type_id === 1) formData.append("navgan_id", values.navgan_id);
requestServer(ADD_USER_MANAGEMENT, 'post', {
data: formData,
@@ -70,142 +67,138 @@ const AddForm = ({mutate, fetchUrl}) => {
});
},
});
- return (
-
-
-
-
-
+ );
};
export default AddForm;
\ No newline at end of file
diff --git a/src/components/dashboard/user-management/Form/DeleteForm.jsx b/src/components/dashboard/user-management/Form/DeleteForm.jsx
index b653428..5cf2eb3 100644
--- a/src/components/dashboard/user-management/Form/DeleteForm.jsx
+++ b/src/components/dashboard/user-management/Form/DeleteForm.jsx
@@ -44,7 +44,7 @@ const DeleteForm = ({rowId, fetchUrl, mutate}) => {
-
{t("DeleteDialog.delete")}
diff --git a/src/components/dashboard/user-management/Form/UpdateForm.jsx b/src/components/dashboard/user-management/Form/UpdateForm.jsx
index eccbf36..44631c5 100644
--- a/src/components/dashboard/user-management/Form/UpdateForm.jsx
+++ b/src/components/dashboard/user-management/Form/UpdateForm.jsx
@@ -37,7 +37,11 @@ const UpdateForm = ({row, fetchUrl, mutate}) => {
.test("max", `${t("AddDialog.national_id_max")}`, (value) => value.length <= 10)
.required(t("AddDialog.national_id_error")),
type_id: Yup.number().required(t("AddDialog.type_id_error")),
- navgan_id: Yup.number().required(t("AddDialog.navgan_id_error")),
+ navgan_id: Yup.number().when('type_id', {
+ is: 1, // Condition: Check if type_id is equal to 1
+ then: (schema) => schema.required(t("AddDialog.navgan_id_error")),
+ otherwise: (schema) => schema, // No validation for navgan_id when type_id is not 1
+ })
});
const formik = useFormik({
@@ -51,7 +55,7 @@ const UpdateForm = ({row, fetchUrl, mutate}) => {
formData.append("phone_number", values.phone_number);
formData.append("national_id", values.national_id);
formData.append("type_id", values.type_id);
- formData.append("navgan_id", values.navgan_id);
+ if (formik.values.type_id === 1) formData.append("navgan_id", values.navgan_id);
requestServer(`${UPDATE_USER_MANAGEMENT}/${row.getValue("id")}`, 'post', {
data: formData,
}).then((response) => {
@@ -142,7 +146,7 @@ const UpdateForm = ({row, fetchUrl, mutate}) => {
- {
error={formik.touched.navgan_id && Boolean(formik.errors.navgan_id)}
helperText={formik.touched.navgan_id && formik.errors.navgan_id}
sx={{mt: 1}}
- />
+ />) : null}