mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-23 18:54:03 +08:00
Add checkError() to payment.
This commit is contained in:
parent
3f90c18a19
commit
305867f49a
@ -271,7 +271,55 @@ class PaymentEditPage extends React.Component {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkError() {
|
||||||
|
if (!Setting.isValidPersonName(this.state.payment.personName)) {
|
||||||
|
return i18next.t("signup:Please input your real name!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Setting.isValidIdCard(this.state.payment.personIdCard)) {
|
||||||
|
return i18next.t("signup:Please input the correct ID card number!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Setting.isValidEmail(this.state.payment.personEmail)) {
|
||||||
|
return i18next.t("signup:The input is not valid Email!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Setting.isValidPhone(this.state.payment.personPhone)) {
|
||||||
|
return i18next.t("signup:The input is not valid Phone!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Setting.isValidPhone(this.state.payment.personPhone)) {
|
||||||
|
return i18next.t("signup:The input is not valid Phone!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.state.payment.invoiceType === "Individual") {
|
||||||
|
if (this.state.payment.invoiceTitle !== "") {
|
||||||
|
return i18next.t("signup:The input is not invoice title!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.state.payment.invoiceTaxId !== "") {
|
||||||
|
return i18next.t("signup:The input is not invoice Tax ID!");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!Setting.isValidInvoiceTitle(this.state.payment.invoiceTitle)) {
|
||||||
|
return i18next.t("signup:The input is not invoice title!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Setting.isValidTaxId(this.state.payment.invoiceTaxId)) {
|
||||||
|
return i18next.t("signup:The input is not invoice Tax ID!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
submitPaymentEdit(willExist) {
|
submitPaymentEdit(willExist) {
|
||||||
|
const errorText = this.checkError();
|
||||||
|
if (errorText !== "") {
|
||||||
|
Setting.showMessage("error", errorText);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let payment = Setting.deepCopy(this.state.payment);
|
let payment = Setting.deepCopy(this.state.payment);
|
||||||
PaymentBackend.updatePayment(this.state.payment.owner, this.state.paymentName, payment)
|
PaymentBackend.updatePayment(this.state.payment.owner, this.state.paymentName, payment)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
@ -188,6 +188,17 @@ export function getSignupItem(application, itemName) {
|
|||||||
return signupItems[0];
|
return signupItems[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isValidPersonName(personName) {
|
||||||
|
// https://blog.css8.cn/post/14210975.html
|
||||||
|
const personNameRegex = /^[\u4e00-\u9fa5]{2,6}$/;
|
||||||
|
return personNameRegex.test(personName);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function isValidIdCard(idCard) {
|
||||||
|
const idCardRegex = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9X]$/;
|
||||||
|
return idCardRegex.test(idCard);
|
||||||
|
}
|
||||||
|
|
||||||
export function isValidEmail(email) {
|
export function isValidEmail(email) {
|
||||||
// https://github.com/yiminghe/async-validator/blob/057b0b047f88fac65457bae691d6cb7c6fe48ce1/src/rule/type.ts#L9
|
// https://github.com/yiminghe/async-validator/blob/057b0b047f88fac65457bae691d6cb7c6fe48ce1/src/rule/type.ts#L9
|
||||||
const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
||||||
@ -200,6 +211,23 @@ export function isValidPhone(phone) {
|
|||||||
return phoneRegex.test(phone);
|
return phoneRegex.test(phone);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isValidInvoiceTitle(invoiceTitle) {
|
||||||
|
// https://blog.css8.cn/post/14210975.html
|
||||||
|
const invoiceTitleRegex = /^[\(\)\(\)\u4e00-\u9fa5]{0,50}$/;
|
||||||
|
return invoiceTitleRegex.test(invoiceTitle);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function isValidTaxId(taxId) {
|
||||||
|
// https://www.codetd.com/article/8592083
|
||||||
|
const regArr = [/^[\da-z]{10,15}$/i, /^\d{6}[\da-z]{10,12}$/i, /^[a-z]\d{6}[\da-z]{9,11}$/i, /^[a-z]{2}\d{6}[\da-z]{8,10}$/i, /^\d{14}[\dx][\da-z]{4,5}$/i, /^\d{17}[\dx][\da-z]{1,2}$/i, /^[a-z]\d{14}[\dx][\da-z]{3,4}$/i, /^[a-z]\d{17}[\dx][\da-z]{0,1}$/i, /^[\d]{6}[\da-z]{13,14}$/i];
|
||||||
|
for (let i = 0; i < regArr.length; i++) {
|
||||||
|
if (regArr[i].test(taxId)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
export function isAffiliationPrompted(application) {
|
export function isAffiliationPrompted(application) {
|
||||||
const signupItem = getSignupItem(application, "Affiliation");
|
const signupItem = getSignupItem(application, "Affiliation");
|
||||||
if (signupItem === null) {
|
if (signupItem === null) {
|
||||||
|
@ -492,6 +492,8 @@
|
|||||||
"Please input your real name!": "Bitte geben Sie Ihren persönlichen Namen ein!",
|
"Please input your real name!": "Bitte geben Sie Ihren persönlichen Namen ein!",
|
||||||
"Please select your country/region!": "Bitte wählen Sie Ihr Land/Ihre Region!",
|
"Please select your country/region!": "Bitte wählen Sie Ihr Land/Ihre Region!",
|
||||||
"Terms of Use": "Nutzungsbedingungen",
|
"Terms of Use": "Nutzungsbedingungen",
|
||||||
|
"The input is not invoice Tax ID!": "The input is not invoice Tax ID!",
|
||||||
|
"The input is not invoice title!": "The input is not invoice title!",
|
||||||
"The input is not valid Email!": "Die Eingabe ist ungültig!",
|
"The input is not valid Email!": "Die Eingabe ist ungültig!",
|
||||||
"The input is not valid Phone!": "Die Eingabe ist nicht gültig!",
|
"The input is not valid Phone!": "Die Eingabe ist nicht gültig!",
|
||||||
"Unknown Check Type": "Unbekannter Schecktyp",
|
"Unknown Check Type": "Unbekannter Schecktyp",
|
||||||
|
@ -492,6 +492,8 @@
|
|||||||
"Please input your real name!": "Please input your real name!",
|
"Please input your real name!": "Please input your real name!",
|
||||||
"Please select your country/region!": "Please select your country/region!",
|
"Please select your country/region!": "Please select your country/region!",
|
||||||
"Terms of Use": "Terms of Use",
|
"Terms of Use": "Terms of Use",
|
||||||
|
"The input is not invoice Tax ID!": "The input is not invoice Tax ID!",
|
||||||
|
"The input is not invoice title!": "The input is not invoice title!",
|
||||||
"The input is not valid Email!": "The input is not valid Email!",
|
"The input is not valid Email!": "The input is not valid Email!",
|
||||||
"The input is not valid Phone!": "The input is not valid Phone!",
|
"The input is not valid Phone!": "The input is not valid Phone!",
|
||||||
"Unknown Check Type": "Unknown Check Type",
|
"Unknown Check Type": "Unknown Check Type",
|
||||||
|
@ -492,6 +492,8 @@
|
|||||||
"Please input your real name!": "Veuillez entrer votre nom personnel !",
|
"Please input your real name!": "Veuillez entrer votre nom personnel !",
|
||||||
"Please select your country/region!": "Veuillez sélectionner votre pays/région!",
|
"Please select your country/region!": "Veuillez sélectionner votre pays/région!",
|
||||||
"Terms of Use": "Conditions d'utilisation",
|
"Terms of Use": "Conditions d'utilisation",
|
||||||
|
"The input is not invoice Tax ID!": "The input is not invoice Tax ID!",
|
||||||
|
"The input is not invoice title!": "The input is not invoice title!",
|
||||||
"The input is not valid Email!": "L'entrée n'est pas un email valide !",
|
"The input is not valid Email!": "L'entrée n'est pas un email valide !",
|
||||||
"The input is not valid Phone!": "L'entrée n'est pas un téléphone valide !",
|
"The input is not valid Phone!": "L'entrée n'est pas un téléphone valide !",
|
||||||
"Unknown Check Type": "Type de vérification inconnu",
|
"Unknown Check Type": "Type de vérification inconnu",
|
||||||
|
@ -492,6 +492,8 @@
|
|||||||
"Please input your real name!": "個人名を入力してください!",
|
"Please input your real name!": "個人名を入力してください!",
|
||||||
"Please select your country/region!": "あなたの国/地域を選択してください!",
|
"Please select your country/region!": "あなたの国/地域を選択してください!",
|
||||||
"Terms of Use": "利用規約",
|
"Terms of Use": "利用規約",
|
||||||
|
"The input is not invoice Tax ID!": "The input is not invoice Tax ID!",
|
||||||
|
"The input is not invoice title!": "The input is not invoice title!",
|
||||||
"The input is not valid Email!": "入力されたメールアドレスが無効です!",
|
"The input is not valid Email!": "入力されたメールアドレスが無効です!",
|
||||||
"The input is not valid Phone!": "入力された電話番号が正しくありません!",
|
"The input is not valid Phone!": "入力された電話番号が正しくありません!",
|
||||||
"Unknown Check Type": "不明なチェックタイプ",
|
"Unknown Check Type": "不明なチェックタイプ",
|
||||||
|
@ -492,6 +492,8 @@
|
|||||||
"Please input your real name!": "Please input your real name!",
|
"Please input your real name!": "Please input your real name!",
|
||||||
"Please select your country/region!": "Please select your country/region!",
|
"Please select your country/region!": "Please select your country/region!",
|
||||||
"Terms of Use": "Terms of Use",
|
"Terms of Use": "Terms of Use",
|
||||||
|
"The input is not invoice Tax ID!": "The input is not invoice Tax ID!",
|
||||||
|
"The input is not invoice title!": "The input is not invoice title!",
|
||||||
"The input is not valid Email!": "The input is not valid Email!",
|
"The input is not valid Email!": "The input is not valid Email!",
|
||||||
"The input is not valid Phone!": "The input is not valid Phone!",
|
"The input is not valid Phone!": "The input is not valid Phone!",
|
||||||
"Unknown Check Type": "Unknown Check Type",
|
"Unknown Check Type": "Unknown Check Type",
|
||||||
|
@ -492,6 +492,8 @@
|
|||||||
"Please input your real name!": "Пожалуйста, введите ваше личное имя!",
|
"Please input your real name!": "Пожалуйста, введите ваше личное имя!",
|
||||||
"Please select your country/region!": "Пожалуйста, выберите вашу страну/регион!",
|
"Please select your country/region!": "Пожалуйста, выберите вашу страну/регион!",
|
||||||
"Terms of Use": "Условия использования",
|
"Terms of Use": "Условия использования",
|
||||||
|
"The input is not invoice Tax ID!": "The input is not invoice Tax ID!",
|
||||||
|
"The input is not invoice title!": "The input is not invoice title!",
|
||||||
"The input is not valid Email!": "Ввод не является допустимым Email!",
|
"The input is not valid Email!": "Ввод не является допустимым Email!",
|
||||||
"The input is not valid Phone!": "Введен неверный телефон!",
|
"The input is not valid Phone!": "Введен неверный телефон!",
|
||||||
"Unknown Check Type": "Неизвестный тип проверки",
|
"Unknown Check Type": "Неизвестный тип проверки",
|
||||||
|
@ -492,6 +492,8 @@
|
|||||||
"Please input your real name!": "请输入您的姓名!",
|
"Please input your real name!": "请输入您的姓名!",
|
||||||
"Please select your country/region!": "请选择您的国家/地区",
|
"Please select your country/region!": "请选择您的国家/地区",
|
||||||
"Terms of Use": "《用户协议》",
|
"Terms of Use": "《用户协议》",
|
||||||
|
"The input is not invoice Tax ID!": "您输入的纳税人识别号有误!",
|
||||||
|
"The input is not invoice title!": "您输入的发票抬头有误!",
|
||||||
"The input is not valid Email!": "您输入的电子邮箱格式有误!",
|
"The input is not valid Email!": "您输入的电子邮箱格式有误!",
|
||||||
"The input is not valid Phone!": "您输入的手机号格式有误!",
|
"The input is not valid Phone!": "您输入的手机号格式有误!",
|
||||||
"Unknown Check Type": "未知的验证码类型",
|
"Unknown Check Type": "未知的验证码类型",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user