@@ -52,6 +52,10 @@ const PublicNoticeApplyForm = ({ loadedData, selections }) => { | |||||
// loadedData.careOf = loadedData.contactPerson | // loadedData.careOf = loadedData.contactPerson | ||||
// },[]); | // },[]); | ||||
function getMaxErrStr(num, fieldname){ | |||||
return intl.formatMessage({ id: 'noMoreThenNWords' },{num:num, fieldname:fieldname?intl.formatMessage({ id: fieldname})+": ":""}); | |||||
} | |||||
const formik = useFormik({ | const formik = useFormik({ | ||||
enableReinitialize: true, | enableReinitialize: true, | ||||
initialValues: loadedData, | initialValues: loadedData, | ||||
@@ -61,7 +65,8 @@ const PublicNoticeApplyForm = ({ loadedData, selections }) => { | |||||
fax_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})), | fax_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})), | ||||
phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})), | phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})), | ||||
faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})), | 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 => { | onSubmit: values => { | ||||
if (!values.issueId) { | if (!values.issueId) { | ||||
@@ -40,23 +40,35 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => { | |||||
} | } | ||||
}, [currentUserData]); | }, [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({ | const formik = useFormik({ | ||||
enableReinitialize: true, | enableReinitialize: true, | ||||
initialValues: currentUserData, | initialValues: currentUserData, | ||||
validationSchema: yup.object().shape({ | 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'})), | 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'})), | 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'})), | 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'})), | fax_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})), | ||||
phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})), | phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})), | ||||
faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).nullable(), | faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).nullable(), | ||||
district: yup.string().required(getRequiredErrStr("district")), | |||||
}), | }), | ||||
onSubmit: values => { | onSubmit: values => { | ||||
if (values.country==null){ | if (values.country==null){ | ||||
@@ -39,12 +39,22 @@ const UserInformationCard_Individual_Pub = ({ formData, loadDataFun }) => { | |||||
} | } | ||||
}, [currentUserData]); | }, [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({ | const formik = useFormik({ | ||||
enableReinitialize: true, | enableReinitialize: true, | ||||
initialValues: currentUserData, | initialValues: currentUserData, | ||||
validationSchema: yup.object().shape({ | 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'})), | addressLine1: yup.string().max(40).required(intl.formatMessage({id: 'validateAddressLine1'})), | ||||
addressLine2: yup.string().max(40).nullable(), | addressLine2: yup.string().max(40).nullable(), | ||||
addressLine3: 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'})), | fax_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})), | ||||
phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})), | phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})), | ||||
faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).nullable(), | faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).nullable(), | ||||
district: yup.string().required(getRequiredErrStr("district")), | |||||
}), | }), | ||||
onSubmit: values => { | onSubmit: values => { | ||||
if (values.country==null){ | if (values.country==null){ | ||||
@@ -533,7 +533,7 @@ const BusCustomFormWizard = (props) => { | |||||
is: (enCompanyName) => !enCompanyName || enCompanyName.length === 0, | is: (enCompanyName) => !enCompanyName || enCompanyName.length === 0, | ||||
then: yup.string().required(displayErrorMsg(intl.formatMessage({id: 'validateEngOrChiName'}))), | 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'}))), | address1: yup.string().max(40, getMaxErrStr(40)).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))), | ||||
address2: yup.string().max(40, getMaxErrStr(40)), | address2: yup.string().max(40, getMaxErrStr(40)), | ||||
address3: yup.string().max(40, getMaxErrStr(40)), | address3: yup.string().max(40, getMaxErrStr(40)), | ||||
@@ -153,6 +153,7 @@ export const getAddressField = ({ label, valueName, form, disabled }) => { | |||||
} | } | ||||
export const getComboField = ({ label, dataList, valueName, form, disabled, getOptionLabel, onInputChange, onChange, filterOptions, ...props }) => { | export const getComboField = ({ label, dataList, valueName, form, disabled, getOptionLabel, onInputChange, onChange, filterOptions, ...props }) => { | ||||
let err = Boolean(form.errors[valueName]); | |||||
return <Grid container alignItems={"center"} sx={{mb:2}}> | return <Grid container alignItems={"center"} sx={{mb:2}}> | ||||
<Grid item xs={12} md={3} lg={3} sx={{ display: 'flex', alignItems: 'center' }}> | <Grid item xs={12} md={3} lg={3} sx={{ display: 'flex', alignItems: 'center' }}> | ||||
<Typography variant="pnspsFormParagraphBold">{label}</Typography> | <Typography variant="pnspsFormParagraphBold">{label}</Typography> | ||||
@@ -163,6 +164,8 @@ export const getComboField = ({ label, dataList, valueName, form, disabled, getO | |||||
disabled={disabled} | disabled={disabled} | ||||
dataList={dataList} | dataList={dataList} | ||||
form={form} | form={form} | ||||
error={err} | |||||
helperText={form.errors[valueName] ? form.errors[valueName] : ''} | |||||
filterOptions={filterOptions} | filterOptions={filterOptions} | ||||
getOptionLabel={getOptionLabel} | getOptionLabel={getOptionLabel} | ||||
onInputChange={onInputChange} | onInputChange={onInputChange} | ||||