From 8434c4b22d915ed796f7662cb10817b8e33c47c6 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 17 三月 2025 16:26:37 +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 b017819..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/form/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