| @@ -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) { | |||
| @@ -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){ | |||
| @@ -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){ | |||
| @@ -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)), | |||
| @@ -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 <Grid container alignItems={"center"} sx={{mb:2}}> | |||
| <Grid item xs={12} md={3} lg={3} sx={{ display: 'flex', alignItems: 'center' }}> | |||
| <Typography variant="pnspsFormParagraphBold">{label}</Typography> | |||
| @@ -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} | |||