diff --git a/src/pages/OrganizationDetailPage/OrganizationCard.js b/src/pages/OrganizationDetailPage/OrganizationCard.js
index 7dcf8b1..6911dd7 100644
--- a/src/pages/OrganizationDetailPage/OrganizationCard.js
+++ b/src/pages/OrganizationDetailPage/OrganizationCard.js
@@ -35,22 +35,34 @@ const OrganizationCard = ({ userData, loadDataFun, id }) => {
}
}, [currentUserData]);
+ function displayErrorMsg(errorMsg) {
+ return {errorMsg}
+ }
const formik = useFormik({
enableReinitialize: true,
initialValues: currentUserData,
validationSchema: yup.object().shape({
- enCompanyName: yup.string().max(255).required('請輸入英文名稱'),
- chCompanyName: yup.string().max(255, '請輸入中文名稱').nullable(),
- addressLine1: yup.string().max(255).required('請輸入第一行地址'),
- addressLine2: yup.string().max(255, "length must <= 255"),
- addressLine3: yup.string().max(255, "length must <= 255"),
- fax_countryCode: yup.string().min(3, '請輸入國際區號').nullable(),
- tel_countryCode: yup.string().min(3, '請輸入國際區號'),
- phoneNumber: yup.string().min(8, '請輸入有效聯絡電話').required('請輸入聯絡電話'),
- faxNumber: yup.string().min(8, '請輸入8位數字').nullable(),
- brExpiryDate: yup.string().min(8).required('請輸入商業登記證有效日期'),
- brNo: yup.string().min(8, '請輸入有效商業登記證號碼').max(8, '請輸入有效商業登記證號碼').required('請輸入商業登記證號碼'),
+ enCompanyName: yup.string().max(255).required(displayErrorMsg('請輸入英文名稱')),
+ chCompanyName: yup.string().max(255, displayErrorMsg('請輸入中文名稱')).nullable(),
+ addressLine1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')),
+ addressLine2: yup.string().max(255, displayErrorMsg("length must <= 255")),
+ addressLine3: yup.string().max(255, displayErrorMsg("length must <= 255")),
+ fax_countryCode: yup.string().min(3, displayErrorMsg('請輸入國際區號')).nullable(),
+ tel_countryCode: yup.string().min(3, displayErrorMsg('請輸入國際區號')),
+ phoneNumber: yup.string().min(8, displayErrorMsg('請輸入有效聯絡電話')).required(displayErrorMsg('請輸入聯絡電話')),
+ faxNumber: yup.string().min(8, displayErrorMsg('請輸入8位數字')).nullable(),
+ brExpiryDate: yup.string().min(8).required(displayErrorMsg('請輸入商業登記證有效日期')),
+ brNo: yup.string().required(displayErrorMsg('請輸入商業登記證號碼')).test('checkBrNoFormat', displayErrorMsg(displayErrorMsg(`請輸入有效商業登記證號碼`)), function (value) {
+ var brNo_pattern = /[0-9]{8}-[0-9]{3}-(0[1-9]|1[012])-[0-9]{2}-[0-9A-Z]{1}/
+ if (value !== undefined) {
+ if (value.match(brNo_pattern)) {
+ return true
+ } else {
+ return false
+ }
+ }
+ }),
}),
onSubmit: vaule => {
console.log(vaule)
diff --git a/src/pages/OrganizationDetailPage_FromUser/OrganizationCard_loadFromUser.js b/src/pages/OrganizationDetailPage_FromUser/OrganizationCard_loadFromUser.js
index e910d9c..84581bf 100644
--- a/src/pages/OrganizationDetailPage_FromUser/OrganizationCard_loadFromUser.js
+++ b/src/pages/OrganizationDetailPage_FromUser/OrganizationCard_loadFromUser.js
@@ -1,6 +1,6 @@
// material-ui
import {
- Grid, Button
+ Grid, Button, Typography
} from '@mui/material';
import MainCard from "../../components/MainCard";
import * as React from "react";
@@ -34,21 +34,34 @@ const OrganizationCard_loadFromUser = ({ userData, userId }) => {
}
}, [currentUserData]);
+ function displayErrorMsg(errorMsg) {
+ return {errorMsg}
+ }
+
const formik = useFormik({
enableReinitialize: true,
initialValues: currentUserData,
validationSchema: yup.object().shape({
- enCompanyName: yup.string().max(255, "請輸入英文名稱").required('請輸入英文名稱'),
- chCompanyName: yup.string().max(255, '請輸入中文名稱').nullable(),
- addressLine1: yup.string().max(255).required('請輸入第一行地址'),
+ enCompanyName: yup.string().max(255, displayErrorMsg("請輸入英文名稱")).required(displayErrorMsg('請輸入英文名稱')),
+ chCompanyName: yup.string().max(255, displayErrorMsg('請輸入中文名稱')).nullable(),
+ addressLine1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')),
addressLine2: yup.string().max(255).nullable(),
addressLine3: yup.string().max(255).nullable(),
- fax_countryCode: yup.string().min(3, "請輸入國際區號").nullable(),
- tel_countryCode: yup.string().min(3, "請輸入國際區號"),
- phoneNumber: yup.string().min(8, '請輸入有效聯絡電話').required('請輸入聯絡電話'),
+ fax_countryCode: yup.string().min(3, displayErrorMsg("請輸入國際區號")).nullable(),
+ tel_countryCode: yup.string().min(3, displayErrorMsg("請輸入國際區號")),
+ phoneNumber: yup.string().min(8, displayErrorMsg('請輸入有效聯絡電話')).required(displayErrorMsg('請輸入聯絡電話')),
faxNumber: yup.string().min(8).nullable(),
- brExpiryDate: yup.string().min(8).required('請輸入商業登記證有效日期'),
- brNo: yup.string().min(8, '請輸入有效商業登記證號碼').max(8, '請輸入有效商業登記證號碼').required('請輸入商業登記證號碼'),
+ brExpiryDate: yup.string().min(8).required(displayErrorMsg('請輸入商業登記證有效日期')),
+ brNo: yup.string().required(displayErrorMsg('請輸入商業登記證號碼')).test('checkBrNoFormat', displayErrorMsg(displayErrorMsg(`請輸入有效商業登記證號碼`)), function (value) {
+ var brNo_pattern = /[0-9]{8}-[0-9]{3}-(0[1-9]|1[012])-[0-9]{2}-[0-9A-Z]{1}/
+ if (value !== undefined) {
+ if (value.match(brNo_pattern)) {
+ return true
+ } else {
+ return false
+ }
+ }
+ }),
}),
onSubmit: values => {
HttpUtils.post({
diff --git a/src/pages/Proof/Payment/Pay_Creditor.js b/src/pages/Proof/Payment/Pay_Creditor.js
index b41a49b..c2b2b37 100644
--- a/src/pages/Proof/Payment/Pay_Creditor.js
+++ b/src/pages/Proof/Payment/Pay_Creditor.js
@@ -76,12 +76,12 @@ const Index = () => {
- 公共啟事:交對完成
+ 公共啟事:校對完成
- 我們已收到你已確定申請編號: {record?.appNo} 的稿件交對確定及可付印的指示,並將安排刊登於憲報
+ 我們已收到你已確定申請編號: {record?.appNo} 的稿件校對確定及可付印的指示,並將安排刊登於憲報
期數 {record?.appNo} 年 {record?.issueVolume} 卷 第 {record?.issueNo} 期內。
此公共啟事申請的費用將於下期發出的繳費發票時收取,請依時繳費。
diff --git a/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js b/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
index af27ce2..ae961d3 100644
--- a/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
+++ b/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
@@ -1,7 +1,7 @@
// material-ui
import {
Grid, Typography, Button,
- Dialog, DialogTitle, DialogContent, DialogActions
+ Dialog, DialogTitle, DialogContent, DialogActions,
} from '@mui/material';
import MainCard from "../../../components/MainCard";
import * as React from "react";
@@ -39,23 +39,36 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
}
}, [currentUserData]);
+ function displayErrorMsg(errorMsg) {
+ return {errorMsg}
+ }
+
const formik = useFormik({
enableReinitialize: true,
initialValues: currentUserData,
validationSchema: yup.object().shape({
- contactPerson: yup.string().max(255).required('請輸入姓名'),
- enCompanyName: yup.string().max(255).required('請輸入英文名稱'),
+ contactPerson: yup.string().max(255).required(displayErrorMsg('請輸入姓名')),
+ enCompanyName: yup.string().max(255).required(displayErrorMsg('請輸入英文名稱')),
chCompanyName: yup.string().max(255).nullable(),
- addressLine1: yup.string().max(255).required('請輸入第一行地址'),
+ addressLine1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')),
addressLine2: yup.string().max(255).nullable(),
addressLine3: yup.string().max(255).nullable(),
- emailBus: yup.string().max(255).required('請輸入電郵'),
- tel_countryCode: yup.string().min(3, '請輸入3位數字').required('請輸入國際區號'),
- fax_countryCode: yup.string().min(3, '請輸入3位數字').nullable(),
- phoneNumber: yup.string().min(8, '請輸入8位數字').required('請輸入聯絡電話'),
- faxNumber: yup.string().min(8, '請輸入8位數字').nullable(),
- brExpiryDate: yup.string().min(8, '請輸入商業登記證有效日期'),
- brNo: yup.string().min(8, '請輸入有效商業登記證號碼').max(8, '請輸入有效商業登記證號碼').required('請輸入商業登記證號碼'),
+ emailBus: yup.string().max(255).required(displayErrorMsg('請輸入電郵')),
+ tel_countryCode: yup.string().min(3, displayErrorMsg('請輸入3位數字')).required(displayErrorMsg('請輸入國際區號')),
+ fax_countryCode: yup.string().min(3, displayErrorMsg('請輸入3位數字')).nullable(),
+ phoneNumber: yup.string().min(8, displayErrorMsg('請輸入8位數字')).required(displayErrorMsg('請輸入聯絡電話')),
+ faxNumber: yup.string().min(8, displayErrorMsg('請輸入8位數字')).nullable(),
+ brExpiryDate: yup.string().min(8, displayErrorMsg('請輸入商業登記證有效日期')),
+ brNo: yup.string().required(displayErrorMsg('請輸入商業登記證號碼')).test('checkBrNoFormat', displayErrorMsg(`請輸入有效商業登記證號碼`), function (value) {
+ var brNo_pattern = /[0-9]{8}-[0-9]{3}-(0[1-9]|1[012])-[0-9]{2}-[0-9A-Z]{1}/
+ if (value !== undefined) {
+ if (value.match(brNo_pattern)) {
+ return true
+ } else {
+ return false
+ }
+ }
+ }),
}),
onSubmit: (values) => {
HttpUtils.post({
diff --git a/src/pages/authentication/auth-forms/BusCustomFormWizard.js b/src/pages/authentication/auth-forms/BusCustomFormWizard.js
index b96fbc6..0f43897 100644
--- a/src/pages/authentication/auth-forms/BusCustomFormWizard.js
+++ b/src/pages/authentication/auth-forms/BusCustomFormWizard.js
@@ -118,16 +118,16 @@ const BusCustomFormWizard = (props) => {
onCaptchaChange();
// }
axios.get(`${GET_USERNAME}`)
- .then((response) => {
- if (response.status === 200) {
- setUserNameList(response.data);
- }
+ .then((response) => {
+ if (response.status === 200) {
+ setUserNameList(response.data);
+ }
- })
- .catch(error => {
- console.log(error);
- return false;
- });
+ })
+ .catch(error => {
+ console.log(error);
+ return false;
+ });
}, []);
const handleCheckUsername = async () => {
@@ -181,6 +181,7 @@ const BusCustomFormWizard = (props) => {
handlePhone(data.phone) &&
handleUserName(data.username) &&
handleCaptcha(data.captchaField) &&
+ handleBrNo(data.brNo) &&
!checkUsername
) {
setisValid(true)
@@ -223,6 +224,17 @@ const BusCustomFormWizard = (props) => {
}, [updateRows]);
+ const handleBrNo = (brNo) => {
+ var brNo_pattern = /[0-9]{8}-[0-9]{3}-(0[1-9]|1[012])-[0-9]{2}-[0-9A-Z]{1}/
+ if (brNo !== undefined) {
+ if (brNo.match(brNo_pattern)) {
+ return true
+ } else {
+ return false
+ }
+ }
+ }
+
const handleFileUpload = (event) => {
let updateList = new DataTransfer();
let currentFileList = fileListData;
@@ -465,21 +477,21 @@ const BusCustomFormWizard = (props) => {
}
}
)
- .matches(/^[aA-zZ0-9\s]+$/, {message: displayErrorMsg("用戶名稱不包含特殊字符")})
- .matches(/^\S*$/, {message: displayErrorMsg('用戶名稱不包含空格')}),
+ .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg("用戶名稱不包含特殊字符") })
+ .matches(/^\S*$/, { message: displayErrorMsg('用戶名稱不包含空格') }),
password: yup.string().min(8, displayErrorMsg('請輸入最少8位密碼')).required(displayErrorMsg('請輸入密碼'))
- .matches(/^\S*$/, {message: displayErrorMsg('密碼不包含空格')})
- .matches(/^(?=.*[a-z])/, {message: displayErrorMsg('請包括最少1個小寫字母')})
- .matches(/^(?=.*[A-Z])/, {message: displayErrorMsg('請包括最少1個大寫字母')})
- .matches(/^(?=.*[0-9])/, {message: displayErrorMsg('請包括最少1個數字')})
- .matches(/^(?=.*[!@#%&])/, {message: displayErrorMsg('請包括最少1個特殊字符')}),
+ .matches(/^\S*$/, { message: displayErrorMsg('密碼不包含空格') })
+ .matches(/^(?=.*[a-z])/, { message: displayErrorMsg('請包括最少1個小寫字母') })
+ .matches(/^(?=.*[A-Z])/, { message: displayErrorMsg('請包括最少1個大寫字母') })
+ .matches(/^(?=.*[0-9])/, { message: displayErrorMsg('請包括最少1個數字') })
+ .matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg('請包括最少1個特殊字符') }),
confirmPassword: yup.string().min(8, displayErrorMsg('請最少輸入8位密碼')).required(displayErrorMsg('請確認密碼')).oneOf([yup.ref('password'), null], displayErrorMsg('請輸入相同密碼')),
enName: yup.string().max(255).required(displayErrorMsg('請輸入英文姓名')),
- enCompanyName: yup.string().matches(/^[^$^*()]+$/, {message: displayErrorMsg('No special characters $/^/*/(/)')}).when('chCompanyName', {
+ enCompanyName: yup.string().matches(/^[^$^*()]+$/, { message: displayErrorMsg('No special characters $/^/*/(/)') }).when('chCompanyName', {
is: (chCompanyName) => !chCompanyName || chCompanyName.length === 0,
then: yup.string().required(displayErrorMsg('Please enter either English or Chinese name')),
}),
- chCompanyName: yup.string().matches(/^[^$^*()]+$/, {message: displayErrorMsg('不包含特殊字符 $/^/*/(/)')}).when('enCompanyName', {
+ chCompanyName: yup.string().matches(/^[^$^*()]+$/, { message: displayErrorMsg('不包含特殊字符 $/^/*/(/)') }).when('enCompanyName', {
is: (enCompanyName) => !enCompanyName || enCompanyName.length === 0,
then: yup.string().required(displayErrorMsg('請輸入英文或中文名稱')),
}),
@@ -494,7 +506,16 @@ const BusCustomFormWizard = (props) => {
phone: yup.string().min(8, displayErrorMsg('請輸入最少8位數字')).required(displayErrorMsg('請輸入聯絡電話')),
fax: yup.string().min(8, displayErrorMsg('請輸入最少8位數字')),
brExpiryDate: yup.date().min(new Date().toISOString().split("T")[0], displayErrorMsg('請輸入商業登記證有效日期')).max("2099-12-31", displayErrorMsg('請輸入商業登記證有效日期')).required(displayErrorMsg('請輸入商業登記證有效日期')),
- brNo: yup.string().min(8, displayErrorMsg('請輸入商業登記證號碼')).required(displayErrorMsg('請輸入商業登記證號碼')),
+ brNo: yup.string().required(displayErrorMsg('請輸入商業登記證號碼')).test('checkBrNoFormat', displayErrorMsg(`請輸入有效商業登記證號碼`), function (value) {
+ var brNo_pattern = /[0-9]{8}-[0-9]{3}-(0[1-9]|1[012])-[0-9]{2}-[0-9A-Z]{1}/
+ if (value !== undefined) {
+ if (value.match(brNo_pattern)) {
+ return true
+ } else {
+ return false
+ }
+ }
+ }),
captchaField: yup.string().required(displayErrorMsg('請輸入驗證')).oneOf([captcha], displayErrorMsg('請輸入有效驗證')),
}, ['enCompanyName', 'chCompanyName']),
@@ -1547,7 +1568,7 @@ const BusCustomFormWizard = (props) => {
帳戶申請已成功提交。
- 驗證電郵將發送到你的電郵地址,請要指示完成驗證及登入系統。
+ 驗證電郵將發送到你的電郵地址,請依指示完成驗證及登入系統。
: