diff --git a/CoreCms.Net.Uni-App/CoreShop/core/enum/form.enum.ts b/CoreCms.Net.Uni-App/CoreShop/core/enum/form.enum.ts index d1a95fc2..638ed65b 100644 --- a/CoreCms.Net.Uni-App/CoreShop/core/enum/form.enum.ts +++ b/CoreCms.Net.Uni-App/CoreShop/core/enum/form.enum.ts @@ -34,4 +34,22 @@ export enum FormTypeEnum { textarea = 'textarea', /** 定位 */ coordinate = 'coordinate', +} + +/** 表单里的字段类型 */ +export enum FormValidationTypeEnum { + /** 字符串 */ + string = 'string', + /** 数字 */ + number = 'number', + /** 整数 */ + integer = 'integer', + /** 价格 */ + price = 'price', + /** 邮箱 */ + email = 'email', + /** 手机号 */ + mobile = 'mobile', + /** 多数据 */ + array = 'array', } \ No newline at end of file diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/form/detail/detail.vue b/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/form/detail/detail.vue index 29967c40..91de9f6e 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/form/detail/detail.vue +++ b/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/form/detail/detail.vue @@ -144,8 +144,9 @@ import { queryAreas } from '@/core/api'; import { useLoginStore } from '@/core/store'; import { UserToken, shareUrl } from '@/core/consts'; - import { FormHeadEnum, ShareClientEnum, ShareEnum, ShareModelEnum, FormTypeEnum, PaymentTypeEnum } from '@/core/enum'; + import { FormHeadEnum, ShareClientEnum, ShareEnum, ShareModelEnum, FormTypeEnum, PaymentTypeEnum , FormValidationTypeEnum} from '@/core/enum'; import { timeFormat } from '@/uni_modules/uv-ui-tools/libs/function/index.js'; + import { mobile,email } from '@/uni_modules/uv-ui-tools/libs/function/test.js'; import GoodsDetailSkuPopup from '@/pages/components/goods-detail/components/goods-detail-sku/goods-detail-sku.vue'; interface QueryParams { @@ -370,13 +371,24 @@ /** 按钮提交 */ const handleSubmit = () => { - _useLoginStore.checkLogin(async () => { - - let data = state.formInfo.items.find((item : any) => item.required && !item.defaultValue); + _useLoginStore.checkLogin(async () => { + /** 验证手机号 */ + let mobileData = state.formInfo.items.find((item : any) => item.validationType == FormValidationTypeEnum.mobile && item.required && !mobile(item.defaultValue)); + if (mobileData) { + handleShowToast(`请输入正确的${mobileData.name}`); return; + } + + /** 验证邮箱 */ + let emailData = state.formInfo.items.find((item : any) => item.validationType == FormValidationTypeEnum.email && item.required && !email(item.defaultValue)); + if (emailData) { + handleShowToast(`请输入正确的${emailData.name}`); return; + } + + let data = state.formInfo.items.find((item : any) => item.required && !item.defaultValue); if (data) { handleShowToast(`${data.name}不能为空`); return; } - + /** 判断图片的 */ let images = state.formInfo.items.find((item : any) => item.type === FormTypeEnum.image && item.required && item.defaultValue.length == 0); if (images) {