From 43af5c2099552895828f9e514979c89d523645ab Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 20 Feb 2024 16:37:38 +0800 Subject: [PATCH] My Remarks max 100 characters --- .../ApplyForm/PublicNoticeApplyForm.js | 7 ++++- .../UserInformationCard_Individual.js | 26 ++++++++++++++----- .../UserInformationCard_Individual_Pub.js | 15 +++++++++-- .../auth-forms/BusCustomFormWizard.js | 2 +- src/utils/FieldUtils.js | 3 +++ 5 files changed, 42 insertions(+), 11 deletions(-) diff --git a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js index 5d5cd95..31a9b83 100644 --- a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js +++ b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js @@ -52,6 +52,10 @@ const PublicNoticeApplyForm = ({ loadedData, selections }) => { // loadedData.careOf = loadedData.contactPerson // },[]); + function getMaxErrStr(num, fieldname){ + return intl.formatMessage({ id: 'noMoreThenNWords' },{num:num, fieldname:fieldname?intl.formatMessage({ id: fieldname})+": ":""}); + } + const formik = useFormik({ enableReinitialize: true, initialValues: loadedData, @@ -61,7 +65,8 @@ const PublicNoticeApplyForm = ({ loadedData, selections }) => { fax_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})), phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})), faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})), - remarks: yup.string().max(255,intl.formatMessage({id: 'noMoreThen255Words'})).nullable(), + remarks: yup.string().max(100,getMaxErrStr(100)).nullable(), + careOf: yup.string().max(30,getMaxErrStr(30)).nullable(), }), onSubmit: values => { if (!values.issueId) { diff --git a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js index 6b47d89..97c31f3 100644 --- a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js +++ b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js @@ -40,23 +40,35 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => { } }, [currentUserData]); + + function getMaxErrStr(num, fieldname){ + return intl.formatMessage({ id: 'noMoreThenNWords' },{num:num, fieldname:fieldname?intl.formatMessage({ id: fieldname})+": ":""}); + } + + function getRequiredErrStr(fieldname){ + return intl.formatMessage({ id: 'require'},{fieldname:fieldname?intl.formatMessage({ id: fieldname}):""}); + } + + + const formik = useFormik({ enableReinitialize: true, initialValues: currentUserData, validationSchema: yup.object().shape({ - enName: yup.string().max(255).required(intl.formatMessage({id: 'userRequireEnglishName'})), - chName: yup.string().max(255).required(intl.formatMessage({id: 'userRequireChineseName'})), - addressLine1: yup.string().max(40).required(intl.formatMessage({id: 'validateAddressLine1'})), - addressLine2: yup.string().max(40).nullable(), - addressLine3: yup.string().max(40).nullable(), + enName: yup.string().max(40, getMaxErrStr(40)).required(intl.formatMessage({id: 'userRequireEnglishName'})), + chName: yup.string().max(6, getMaxErrStr(6)).required(intl.formatMessage({id: 'userRequireChineseName'})), + addressLine1: yup.string().max(40, getMaxErrStr(40)).required(intl.formatMessage({id: 'validateAddressLine1'})), + addressLine2: yup.string().max(40, getMaxErrStr(40)).nullable(), + addressLine3: yup.string().max(40, getMaxErrStr(40)).nullable(), emailAddress: yup.string().email(intl.formatMessage({id: 'validEmailFormat'})).max(255).required(intl.formatMessage({id: 'requireEmail'})), identification: yup.string().min(7, intl.formatMessage({id: 'requireIdDocNumber'})).required(intl.formatMessage({id: 'requireIdDocNumber'})), - checkDigit: yup.string().max(1).required(intl.formatMessage({id: 'requiredNumberInQuote'})).nullable(), - idDocType: yup.string().max(255).required(intl.formatMessage({id: 'requireIdDocType'})), + checkDigit: yup.string().max(1, getMaxErrStr(1)).required(intl.formatMessage({id: 'requiredNumberInQuote'})).nullable(), + idDocType: yup.string().max(255, getMaxErrStr(255)).required(intl.formatMessage({id: 'requireIdDocType'})), tel_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})).required(intl.formatMessage({id: 'requireDialingCode'})), fax_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})), phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})), faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).nullable(), + district: yup.string().required(getRequiredErrStr("district")), }), onSubmit: values => { if (values.country==null){ diff --git a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual_Pub.js b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual_Pub.js index 3f677f7..0422ab0 100644 --- a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual_Pub.js +++ b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual_Pub.js @@ -39,12 +39,22 @@ const UserInformationCard_Individual_Pub = ({ formData, loadDataFun }) => { } }, [currentUserData]); + + function getMaxErrStr(num, fieldname){ + return intl.formatMessage({ id: 'noMoreThenNWords' },{num:num, fieldname:fieldname?intl.formatMessage({ id: fieldname})+": ":""}); + } + + function getRequiredErrStr(fieldname){ + return intl.formatMessage({ id: 'require'},{fieldname:fieldname?intl.formatMessage({ id: fieldname}):""}); + } + + const formik = useFormik({ enableReinitialize: true, initialValues: currentUserData, validationSchema: yup.object().shape({ - enName: yup.string().max(255).required(intl.formatMessage({id: 'userRequireEnglishName'})), - chName: yup.string().max(255).required(intl.formatMessage({id: 'userRequireChineseName'})), + enName: yup.string().max(40, getMaxErrStr(40)).required(intl.formatMessage({id: 'userRequireEnglishName'})), + chName: yup.string().max(6, getMaxErrStr(6)).required(intl.formatMessage({id: 'userRequireChineseName'})), addressLine1: yup.string().max(40).required(intl.formatMessage({id: 'validateAddressLine1'})), addressLine2: yup.string().max(40).nullable(), addressLine3: yup.string().max(40).nullable(), @@ -53,6 +63,7 @@ const UserInformationCard_Individual_Pub = ({ formData, loadDataFun }) => { fax_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})), phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})), faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).nullable(), + district: yup.string().required(getRequiredErrStr("district")), }), onSubmit: values => { if (values.country==null){ diff --git a/src/pages/authentication/auth-forms/BusCustomFormWizard.js b/src/pages/authentication/auth-forms/BusCustomFormWizard.js index 04c1d0e..2217fbb 100644 --- a/src/pages/authentication/auth-forms/BusCustomFormWizard.js +++ b/src/pages/authentication/auth-forms/BusCustomFormWizard.js @@ -533,7 +533,7 @@ const BusCustomFormWizard = (props) => { is: (enCompanyName) => !enCompanyName || enCompanyName.length === 0, then: yup.string().required(displayErrorMsg(intl.formatMessage({id: 'validateEngOrChiName'}))), }), - chName: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'userRequireChineseName'}))), + chName: yup.string().max(6, getMaxErrStr(6)).required(displayErrorMsg(intl.formatMessage({id: 'userRequireChineseName'}))), address1: yup.string().max(40, getMaxErrStr(40)).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))), address2: yup.string().max(40, getMaxErrStr(40)), address3: yup.string().max(40, getMaxErrStr(40)), diff --git a/src/utils/FieldUtils.js b/src/utils/FieldUtils.js index 5e08b63..96e742e 100644 --- a/src/utils/FieldUtils.js +++ b/src/utils/FieldUtils.js @@ -153,6 +153,7 @@ export const getAddressField = ({ label, valueName, form, disabled }) => { } export const getComboField = ({ label, dataList, valueName, form, disabled, getOptionLabel, onInputChange, onChange, filterOptions, ...props }) => { + let err = Boolean(form.errors[valueName]); return {label} @@ -163,6 +164,8 @@ export const getComboField = ({ label, dataList, valueName, form, disabled, getO disabled={disabled} dataList={dataList} form={form} + error={err} + helperText={form.errors[valueName] ? form.errors[valueName] : ''} filterOptions={filterOptions} getOptionLabel={getOptionLabel} onInputChange={onInputChange}