| @@ -234,20 +234,20 @@ const ContactInfo: React.FC<Props> = ({ | |||
| if (getValues("addContacts").length === 0) { | |||
| clearErrors("addContacts") | |||
| } else { | |||
| const errorRows = rows.filter(row => String(row.name).trim().length === 0 || String(row.phone).trim().length === 0 || String(row.email).trim().length === 0) | |||
| const errorRows = rows.filter(row => String(row.name).trim().length === 0) | |||
| if (errorRows.length > 0) { | |||
| setError("addContacts", { message: "Contact details include empty fields", type: "required" }) | |||
| } else { | |||
| const errorRows_EmailFormat = rows.filter(row => !/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(String(row.email))) | |||
| // const errorRows_EmailFormat = rows.filter(row => !/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(String(row.email))) | |||
| const errorRows_PhoneFormat = rows.filter(row => !/^[+0-9][0-9\s]*$/.test(String(row.phone))) | |||
| // const errorRows_PhoneFormat = rows.filter(row => !/^[+0-9][0-9\s]*$/.test(String(row.phone))) | |||
| if (errorRows_EmailFormat.length > 0 || errorRows_PhoneFormat.length > 0) { | |||
| setError("addContacts", { message: "Contact details include empty fields", type: "format" }) | |||
| } else { | |||
| // if (errorRows_EmailFormat.length > 0 || errorRows_PhoneFormat.length > 0) { | |||
| // setError("addContacts", { message: "Contact details include empty fields", type: "format" }) | |||
| // } else { | |||
| clearErrors("addContacts") | |||
| } | |||
| // } | |||
| } | |||
| } | |||
| }, [rows, rowModesModel]) | |||
| @@ -273,7 +273,7 @@ const ContactInfo: React.FC<Props> = ({ | |||
| {t("Contact Info")} | |||
| </Typography> | |||
| {Boolean(errors.addContacts?.type === "required") && <Typography sx={(theme) => ({ color: theme.palette.error.main })} variant="overline" display='inline-block' noWrap> | |||
| {t("Please ensure at least one row is created, and all the fields are inputted and saved")} | |||
| {t("Please ensure at least one row is created, and all the 'Contact Name' fields are inputted and saved")} | |||
| </Typography>} | |||
| {Boolean(errors.addContacts?.type === "format") && <Typography sx={(theme) => ({ color: theme.palette.error.main })} variant="overline" display='inline-block' noWrap> | |||
| {t("Please ensure all the email and phone formats are correct")} | |||
| @@ -177,17 +177,17 @@ const CustomerSave: React.FC<Props> = ({ | |||
| formProps.setError("brNo", { message: "Br No. format is not valid", type: "custom" }) | |||
| } | |||
| if (data.addContacts.length === 0 || data.addContacts.filter(row => String(row.name).trim().length === 0 || String(row.phone).trim().length === 0 || String(row.email).trim().length === 0).length > 0) { | |||
| if (data.addContacts.length === 0 || data.addContacts.filter(row => String(row.name).trim().length === 0).length > 0) { | |||
| haveError = true | |||
| formProps.setError("addContacts", { message: "Contact info includes empty fields", type: "required" }) | |||
| } | |||
| if (data.addContacts.length > 0 | |||
| && data.addContacts.filter(row => !/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(String(row.email))).length > 0 | |||
| && data.addContacts.filter(row => !/^[+0-9][0-9\s]*$/.test(String(row.phone))).length > 0) { | |||
| haveError = true | |||
| formProps.setError("addContacts", { message: "Contact info includes invalid email or phone", type: "format" }) | |||
| } | |||
| // if (data.addContacts.length > 0 | |||
| // && data.addContacts.filter(row => !/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(String(row.email))).length > 0 | |||
| // && data.addContacts.filter(row => !/^[+0-9][0-9\s]*$/.test(String(row.phone))).length > 0) { | |||
| // haveError = true | |||
| // formProps.setError("addContacts", { message: "Contact info includes invalid email or phone", type: "format" }) | |||
| // } | |||
| if (haveError) { | |||
| // go to the error tab | |||
| @@ -226,20 +226,20 @@ const ContactInfo: React.FC<Props> = ({ | |||
| if (getValues("addContacts").length === 0) { | |||
| clearErrors("addContacts") | |||
| } else { | |||
| const errorRows = rows.filter(row => String(row.name).trim().length === 0 || String(row.phone).trim().length === 0 || String(row.email).trim().length === 0) | |||
| const errorRows = rows.filter(row => String(row.name).trim().length === 0) | |||
| if (errorRows.length > 0) { | |||
| setError("addContacts", { message: "Contact details include empty fields", type: "required" }) | |||
| } else { | |||
| const errorRows_EmailFormat = rows.filter(row => !/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(String(row.email))) | |||
| // const errorRows_EmailFormat = rows.filter(row => !/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(String(row.email))) | |||
| const errorRows_PhoneFormat = rows.filter(row => !/^[+0-9][0-9\s]*$/.test(String(row.phone))) | |||
| // const errorRows_PhoneFormat = rows.filter(row => !/^[+0-9][0-9\s]*$/.test(String(row.phone))) | |||
| if (errorRows_EmailFormat.length > 0 || errorRows_PhoneFormat.length > 0) { | |||
| setError("addContacts", { message: "Contact details include empty fields", type: "format" }) | |||
| } else { | |||
| // if (errorRows_EmailFormat.length > 0 || errorRows_PhoneFormat.length > 0) { | |||
| // setError("addContacts", { message: "Contact details include empty fields", type: "format" }) | |||
| // } else { | |||
| clearErrors("addContacts") | |||
| } | |||
| // } | |||
| } | |||
| } | |||
| }, [rows]) | |||
| @@ -265,7 +265,7 @@ const ContactInfo: React.FC<Props> = ({ | |||
| {t("Contact Info")} | |||
| </Typography> | |||
| {Boolean(errors.addContacts?.type === "required") && <Typography sx={(theme) => ({ color: theme.palette.error.main })} variant="overline" display='inline-block' noWrap> | |||
| {t("Please ensure at least one row is created, and all the fields are inputted and saved")} | |||
| {t("Please ensure at least one row is created, and all the 'Contact Name' fields are inputted and saved")} | |||
| </Typography>} | |||
| {Boolean(errors.addContacts?.type === "format") && <Typography sx={(theme) => ({ color: theme.palette.error.main })} variant="overline" display='inline-block' noWrap> | |||
| {t("Please ensure all the email and phone formats are correct")} | |||
| @@ -152,17 +152,17 @@ const SubsidiaryDetail: React.FC<Props> = ({ | |||
| formProps.setError("brNo", { message: "Br No. format is not valid", type: "custom" }) | |||
| } | |||
| if (data.addContacts.length === 0 || data.addContacts.filter(row => String(row.name).trim().length === 0 || String(row.phone).trim().length === 0 || String(row.email).trim().length === 0).length > 0) { | |||
| if (data.addContacts.length === 0 || data.addContacts.filter(row => String(row.name).trim().length === 0).length > 0) { | |||
| haveError = true | |||
| formProps.setError("addContacts", { message: "Contact info includes empty fields", type: "required" }) | |||
| } | |||
| if (data.addContacts.length > 0 | |||
| && data.addContacts.filter(row => !/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(String(row.email))).length > 0 | |||
| && data.addContacts.filter(row => !/^[+0-9][0-9\s]*$/.test(String(row.phone))).length > 0) { | |||
| haveError = true | |||
| formProps.setError("addContacts", { message: "Contact info includes invalid email or phone", type: "format" }) | |||
| } | |||
| // if (data.addContacts.length > 0 | |||
| // && data.addContacts.filter(row => !/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(String(row.email))).length > 0 | |||
| // && data.addContacts.filter(row => !/^[+0-9][0-9\s]*$/.test(String(row.phone))).length > 0) { | |||
| // haveError = true | |||
| // formProps.setError("addContacts", { message: "Contact info includes invalid email or phone", type: "format" }) | |||
| // } | |||
| if (haveError) { | |||
| // go to the error tab | |||
| @@ -43,7 +43,7 @@ | |||
| "Contact Name": "聯絡姓名", | |||
| "Contact Email": "聯絡電郵", | |||
| "Contact Phone": "聯絡電話", | |||
| "Please ensure at least one row is created, and all the fields are inputted and saved": "請確保已建立至少一行, 及已輸入和儲存所有欄位", | |||
| "Please ensure at least one row is created, and all the 'Contact Name' fields are inputted and saved": "請確保已建立至少一行, 及已輸入和儲存所有聯絡姓名欄位", | |||
| "Please ensure all the email and phone formats are correct": "請確保所有電郵和電話格式輸入正確", | |||
| "Do you want to submit?": "你是否確認要提交?", | |||
| @@ -43,7 +43,7 @@ | |||
| "Contact Name": "聯絡姓名", | |||
| "Contact Email": "聯絡電郵", | |||
| "Contact Phone": "聯絡電話", | |||
| "Please ensure at least one row is created, and all the fields are inputted and saved": "請確保已建立至少一行, 及已輸入和儲存所有欄位", | |||
| "Please ensure at least one row is created, and all the 'Contact Name' fields are inputted and saved": "請確保已建立至少一行, 及已輸入和儲存所有聯絡姓名欄位", | |||
| "Please ensure all the email and phone formats are correct": "請確保所有電郵和電話格式輸入正確", | |||
| "Do you want to submit?": "你是否確認要提交?", | |||