Ver código fonte

registration form - fix district check and email check

CR013B2
Jason Chuang 5 horas atrás
pai
commit
3ef1096f25
3 arquivos alterados com 1306 adições e 1148 exclusões
  1. +44
    -20
      src/pages/authentication/auth-forms/BusCustomFormWizard.js
  2. +57
    -30
      src/pages/authentication/auth-forms/CustomFormWizard.js
  3. +1205
    -1098
      src/pages/authentication/auth-forms/IAmSmartFormWizard.js

+ 44
- 20
src/pages/authentication/auth-forms/BusCustomFormWizard.js Ver arquivo

@@ -183,17 +183,21 @@ const BusCustomFormWizard = (props) => {
} }
}, [checkDistrictBlur]) }, [checkDistrictBlur])


const handleCheckDistrict = async () => {
const handleCheckDistrict = () => {
setDistrictErrStr(""); setDistrictErrStr("");

if (selectedAddress5?.type === "hongKong") { if (selectedAddress5?.type === "hongKong") {
if (selectedAddress4 == null || selectedAddress4 == "" || selectedAddress4 == {}){
setCheckDistrict(true)
setDistrictErrStr(getRequiredErrStr("district"))
}else {
setCheckDistrict(false)
if (!selectedAddress4 || Object.keys(selectedAddress4).length === 0) {
setCheckDistrict(true);
setDistrictErrStr(getRequiredErrStr("district"));
return false;
} }
} }
}

setCheckDistrict(false);
return true;
};



function getRequiredErrStr(fieldname){ function getRequiredErrStr(fieldname){
return displayErrorMsg(intl.formatMessage({ id: 'require'},{fieldname:fieldname?intl.formatMessage({ id: fieldname}):""})); return displayErrorMsg(intl.formatMessage({ id: 'require'},{fieldname:fieldname?intl.formatMessage({ id: fieldname}):""}));
@@ -217,8 +221,12 @@ const BusCustomFormWizard = (props) => {
} }


const checkDataField = (data) => { const checkDataField = (data) => {
// console.log(data.brExpiryDate)
if (
const districtValid =
selectedAddress5?.type !== "hongKong" ||
(selectedAddress4 && Object.keys(selectedAddress4).length > 0);


const valid =
handleCaptcha(data.captchaField) && handleCaptcha(data.captchaField) &&
data.username !== "" && data.username !== "" &&
data.password !== "" && data.password !== "" &&
@@ -242,19 +250,15 @@ const BusCustomFormWizard = (props) => {
handlePhone(data.phone) && handlePhone(data.phone) &&
handleUserName(data.username) && handleUserName(data.username) &&
handleBrNo(data.brNo) && handleBrNo(data.brNo) &&
handleCheckDistrict()&&
!checkUsername&&
!checkEmail&&
!checkDistrict
) {
setisValid(true)
return isValid
} else {
setisValid(false)
return isValid
}
districtValid &&
!checkUsername &&
!checkEmail;

setisValid(valid);
}; };




const handleCheckBoxChange = (event) => { const handleCheckBoxChange = (event) => {
// console.log(event.target) // console.log(event.target)
if (event.target.name == 'termsAndConAccept') { if (event.target.name == 'termsAndConAccept') {
@@ -358,7 +362,18 @@ const BusCustomFormWizard = (props) => {


const { handleSubmit } = useForm({}) const { handleSubmit } = useForm({})
const _onSubmit = () => { const _onSubmit = () => {
if (!handleCheckDistrict()) {
setLoding(false);
return;
}

if (!isValid) {
setLoding(false);
return;
}

setLoding(true); setLoding(true);

values.address4 = selectedAddress4==null?"":selectedAddress4.type values.address4 = selectedAddress4==null?"":selectedAddress4.type
values.address5 = selectedAddress5.type values.address5 = selectedAddress5.type
// console.log(values) // console.log(values)
@@ -608,6 +623,15 @@ const BusCustomFormWizard = (props) => {
checkDataField(values) checkDataField(values)
}, [values]) }, [values])


useEffect(() => {
if (
selectedAddress5?.type === "hongKong" &&
values?.captchaField?.length === 5
) {
handleCheckDistrict();
}
}, [values?.captchaField, selectedAddress5, selectedAddress4]);

return ( return (
<FormikProvider value={formik}> <FormikProvider value={formik}>
<form onSubmit={handleSubmit(_onSubmit)}> <form onSubmit={handleSubmit(_onSubmit)}>


+ 57
- 30
src/pages/authentication/auth-forms/CustomFormWizard.js Ver arquivo

@@ -197,17 +197,21 @@ const CustomFormWizard = (props) => {
} }
} }
const handleCheckDistrict = async () => {
const handleCheckDistrict = () => {
setDistrictErrStr(""); setDistrictErrStr("");

if (selectedAddress5?.type === "hongKong") { if (selectedAddress5?.type === "hongKong") {
if (selectedAddress4 == null || selectedAddress4 == "" || selectedAddress4 == {}){
setCheckDistrict(true)
setDistrictErrStr(getRequiredErrStr("district"))
}else {
setCheckDistrict(false)
if (!selectedAddress4 || Object.keys(selectedAddress4).length === 0) {
setCheckDistrict(true);
setDistrictErrStr(getRequiredErrStr("district"));
return false;
} }
} }
}

setCheckDistrict(false);
return true;
};



useEffect(() => { useEffect(() => {
if (username) { if (username) {
@@ -313,46 +317,43 @@ const CustomFormWizard = (props) => {
} }


const checkDataField = (data) => { const checkDataField = (data) => {
// console.log(data)
if (
const districtValid =
selectedAddress5?.type !== "hongKong" ||
(selectedAddress4 && Object.keys(selectedAddress4).length > 0);


const valid =
handleCaptcha(data.captchaField) && handleCaptcha(data.captchaField) &&
data.username !== "" && data.username !== "" &&
data.password !== "" && data.password !== "" &&
data.confirmPassword !== "" && data.confirmPassword !== "" &&
data.password == data.confirmPassword &&
data.password === data.confirmPassword &&
selectedIdDocType.type !== "" && selectedIdDocType.type !== "" &&
data.idNo !== "" && data.idNo !== "" &&
// (data.enName !== "" || selectedIdDocType.type === "CNID") &&
// data.chName !== "" &&
handleName(data.enName, data.chName) && handleName(data.enName, data.chName) &&
data.address1 !== "" && data.address1 !== "" &&
data.email !== "" && data.email !== "" &&
data.emailConfirm !== "" && data.emailConfirm !== "" &&
data.email == data.emailConfirm &&
data.email === data.emailConfirm &&
data.phone !== "" && data.phone !== "" &&
data.phoneCountryCode !== "" && data.phoneCountryCode !== "" &&
termsAndConAccept == true &&
termsAndConAccept === true &&
fileList.length !== 0 && fileList.length !== 0 &&
// data.captchaField &&
handlePassword(data.password) && handlePassword(data.password) &&
handleEmail(data.email) && handleEmail(data.email) &&
handleIdNo(data.idNo, selectedIdDocType.type, data.checkDigit) && handleIdNo(data.idNo, selectedIdDocType.type, data.checkDigit) &&
handlePhone(data.phone) && handlePhone(data.phone) &&
handleUsername(data.username) && handleUsername(data.username) &&
handleCheckDistrict()&&
districtValid &&
!checkUsername && !checkUsername &&
!checkEmail && !checkEmail &&
!checkIdDocNumber&&
!checkDistrict
) {
setisValid(true)
return isValid
} else {
setisValid(false)
return isValid
}
!checkIdDocNumber;

setisValid(valid);
}; };




const handleCheckBoxChange = (event) => { const handleCheckBoxChange = (event) => {
if (event.target.name == 'termsAndConAccept') { if (event.target.name == 'termsAndConAccept') {
setTermsAndConAccept(event.target.checked) setTermsAndConAccept(event.target.checked)
@@ -449,14 +450,28 @@ const CustomFormWizard = (props) => {
// }, [selectedAddress4, selectedAddress5]) // }, [selectedAddress4, selectedAddress5])


useEffect(() => { useEffect(() => {
props.step == 2 ? _onSubmit() : null;
if (captchaImg == "")
onCaptchaChange();
checkDataField(values)
}, [props.step])
if (props.step == 2) {
handleCheckDistrict();
_onSubmit();
}
if (captchaImg == "") onCaptchaChange();
checkDataField(values);
}, [props.step]);



const { handleSubmit } = useForm({}) const { handleSubmit } = useForm({})
const _onSubmit = () => { const _onSubmit = () => {
// hard stop
if (!handleCheckDistrict()) {
setLoding(false);
return;
}

if (!isValid) {
setLoding(false);
return;
}

setLoding(true); setLoding(true);
values.idDocType = selectedIdDocType.type values.idDocType = selectedIdDocType.type
values.address4 = selectedAddress4 == null ? "" : selectedAddress4.type values.address4 = selectedAddress4 == null ? "" : selectedAddress4.type
@@ -838,6 +853,15 @@ const CustomFormWizard = (props) => {


const { values } = formik const { values } = formik


useEffect(() => {
if (
selectedAddress5?.type === "hongKong" &&
values?.captchaField?.length === 5
) {
handleCheckDistrict();
}
}, [values?.captchaField, selectedAddress5, selectedAddress4]);

useEffect(() => { useEffect(() => {
checkDataField(values) checkDataField(values)
}, [values]) }, [values])
@@ -1404,6 +1428,9 @@ const CustomFormWizard = (props) => {
getOptionLabel={(option) => option.type ? intl.formatMessage({ id: option.type }) : ""} getOptionLabel={(option) => option.type ? intl.formatMessage({ id: option.type }) : ""}
onChange={(event, newValue) => { onChange={(event, newValue) => {
setSelectedAddress4(newValue); setSelectedAddress4(newValue);

setCheckDistrict(false);
setDistrictErrStr("");
}} }}
sx={{ sx={{
'& .MuiInputBase-root': { alignItems: 'center' }, '& .MuiInputBase-root': { alignItems: 'center' },


+ 1205
- 1098
src/pages/authentication/auth-forms/IAmSmartFormWizard.js
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


Carregando…
Cancelar
Salvar