From 1910e9f27373b8b4da75f076762025ceb3419965 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 12 六月 2025 15:40:50 +0800
Subject: [PATCH] fix: 暂时隐藏电信充值通道
---
apps/h5/src/utils/validator.ts | 148 +++++++++----------------------------------------
1 files changed, 27 insertions(+), 121 deletions(-)
diff --git a/apps/h5/src/utils/validator.ts b/apps/h5/src/utils/validator.ts
index 3113174..970a9c8 100644
--- a/apps/h5/src/utils/validator.ts
+++ b/apps/h5/src/utils/validator.ts
@@ -1,140 +1,46 @@
+import { EditorType } from '@/constants';
import _ from 'lodash';
-import { FormItemRuleWithoutValidator } from '@nutui/nutui-taro/dist/types/__VUE/formitem/types';
export class FormValidator {
/**
* 楠岃瘉琛ㄥ崟input-number 涓嶄负0
*/
- static validatorNumberNotNull(value: any, ruleCfg: FormItemRuleWithoutValidator) {
- console.log('value: ', value, typeof value);
+ static validatorNumberNotNull(rule: any, value: any, callback: any) {
// eslint-disable-next-line eqeqeq
if (!value) {
- return Promise.reject(ruleCfg.message);
+ return callback(new Error(rule.message));
}
- return Promise.resolve(true);
+ callback();
}
- // static validatorRichEditor(value: any, ruleCfg: FormItemRuleWithoutValidator) {
- // // eslint-disable-next-line eqeqeq
- // const textEditorItem = value.filter((x) => x.type === EditorType.Text);
- // if (textEditorItem.some((x) => !x.content)) {
- // return Promise.reject(ruleCfg.message);
- // }
- // return Promise.resolve(true);
- // }
- static validatorWeMap(value: any, ruleCfg: FormItemRuleWithoutValidator) {
+ static validatorRichEditor(rule: any, value: API.IntroInfo[], callback: any) {
+ // eslint-disable-next-line eqeqeq
+ const textEditorItem = value.filter((x) => x.type === EditorType.Text);
+ if (textEditorItem.some((x) => !x.content)) {
+ return callback(new Error(rule.message));
+ }
+ callback();
+ }
+ static validatorWeMap(rule: any, value: WeMapModel, callback: any) {
// eslint-disable-next-line eqeqeq
if (_.isEmpty(value) || Object.values(value).some((x) => !x)) {
- return Promise.reject(ruleCfg.message);
+ return callback(new Error(rule.message));
}
- return Promise.resolve(true);
- }
- static validatorArray(value: any, ruleCfg: FormItemRuleWithoutValidator) {
- if (!_.isArray(value) || !value?.length) {
- return Promise.reject(ruleCfg.message);
- }
- return Promise.resolve(true);
- }
-
- static validatorPriceVersion(
- value: API.PriceVersionInfoItem[],
- ruleCfg: FormItemRuleWithoutValidator
- ) {
- if (value.some((x) => !x.chargeWay || !x.name || !x.price)) {
- return Promise.reject(ruleCfg.message);
- }
- return Promise.resolve(true);
- }
-
- static validatorUrl(value: string, ruleCfg: FormItemRuleWithoutValidator) {
- if (BoleRegExp.RegUrl.test(value)) {
- return Promise.resolve(true);
- }
- return Promise.reject(ruleCfg.message);
- }
- static validatorUrlWithRarameter(value: string, ruleCfg: FormItemRuleWithoutValidator) {
- if (BoleRegExp.RegUrlWithParameter.test(value)) {
- return Promise.resolve(true);
- }
- return Promise.reject(ruleCfg.message);
- }
- static validatorSocietyCreditCode(value: string, ruleCfg: FormItemRuleWithoutValidator) {
- if (!ruleCfg.required && !value) return Promise.resolve(true);
- if (/^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g.test(value)) {
- return Promise.resolve(true);
- }
- return Promise.reject(ruleCfg.message);
- }
- static validatorPhoneNumber(value: string, ruleCfg: FormItemRuleWithoutValidator) {
- if (BoleRegExp.RegPhoneNumber.test(value)) {
- return Promise.resolve(true);
- }
- return Promise.reject(ruleCfg.message);
- }
- static validatorTelNumber(value: string, ruleCfg: FormItemRuleWithoutValidator) {
- if (BoleRegExp.RegTelNumber.test(value)) {
- return Promise.resolve(true);
- }
- return Promise.reject(ruleCfg.message);
- }
- static validatorIDCard(value: string, ruleCfg: FormItemRuleWithoutValidator) {
- if (BoleRegExp.RegIDCard.test(value)) {
- return Promise.resolve(true);
- }
- return Promise.reject(ruleCfg.message);
- }
- static validatorNumber(value: string, ruleCfg: FormItemRuleWithoutValidator) {
- if (BoleRegExp.RegNumber.test(value)) {
- return Promise.resolve(true);
- }
- return Promise.reject(ruleCfg.message);
- }
-
- static validatorEmail(value: string, ruleCfg: FormItemRuleWithoutValidator) {
- if (!ruleCfg.required && !value) return Promise.resolve(true);
- if (BoleRegExp.RegEmail.test(value)) {
- return Promise.resolve(true);
- }
- return Promise.reject(ruleCfg.message);
+ callback();
}
}
-export class BoleRegExp {
- static RegIDCard =
- /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
+export async function validateFormList(refs: any) {
+ try {
+ const validateList = Object.values(refs).map((x) => {
+ const ref = x as any;
+ if (Array.isArray(ref)) {
+ return ref[0].validate();
+ }
+ return ref.validate();
+ });
- // static RegEmail =
- // /^(([^<>()\\[\]\\.,;:\s@"]+(\.[^<>()\\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/;
- static RegEmail = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
-
- /**鍙湁鎵嬫満 */
- static RegPhoneNumber = /^1[3-9]\d{9}$/;
-
- /**搴ф満 + 鎵嬫満*/
- static RegTelNumber =
- /(^(0[0-9]{2,3})?[-\s]?([2-9][0-9]{6,7})+([0-9]{1,4})?$)|(^((\(\d{3}\))|(\d{3}[-\s]))?(1[3-9]\d{9})$)|(^(400)[-\s](\d{3})[-\s](\d{4})(.)(\d{1,4})$)|(^(400)(\d{3})(\d{4}$))/;
-
- /**鍙湁搴ф満 */
- static RegOnlyTelNumber =
- /(^(0[0-9]{2,3})?[-\s]?([2-9][0-9]{6,7})+([0-9]{1,4})?$)|(^(400)[-\s](\d{3})[-\s](\d{4})(.)(\d{1,4})$)|(^(400)(\d{3})(\d{4}$))/;
-
- static RegSocietyCreditCode = /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g;
-
- static RegNumber = /^\d+$/;
-
- static RegFileName = /(.*\/)*([^.]+).*/gi;
-
- static RegCanPreview = /png|jpg|jpeg|doc|docx|txt|ppsx|xlsx|xls|pdf/gi;
-
- static RegDecimalNumber = /^\d+(\.\d{0,2}){0,1}$/;
-
- static RegBankCard = /^\d{16,30}$/;
-
- static RegUrl = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})(\/\w+)*\/?$/;
-
- static RegUrlWithParameter =
- /^((http|ftp|https):\/\/)?[\w\-_]+(\.[\w\-_]+)+([\w\-\\.,@?^=%&:/~\\+#]*[\w\-\\@?^=%&/~\\+#])?$/;
-
- static RegUrlWithParameterExact =
- /^((http|ftp|https):\/\/)[\w\-_]+(\.[\w\-_]+)+([\w\-\\.,@?^=%&:/~\\+#]*[\w\-\\@?^=%&/~\\+#])?$/;
+ let res = await Promise.allSettled(validateList);
+ return res.every((x) => x.status === 'fulfilled');
+ } catch (error) {}
}
--
Gitblit v1.9.1