From 9c2eb9ed6da32c1830b02431875dacaa7f904b1f Mon Sep 17 00:00:00 2001
From: 黄何裕 <1053952480@qq.com>
Date: 星期五, 12 七月 2024 18:16:56 +0800
Subject: [PATCH] 修改资料校验
---
src/views/personal-center/index.vue | 49 +++++++++++++++++++++++++++++++++++--------------
components.d.ts | 4 ++++
2 files changed, 39 insertions(+), 14 deletions(-)
diff --git a/components.d.ts b/components.d.ts
index 6873c8e..4bfb9be 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -11,6 +11,7 @@
ElButton: typeof import('element-plus/es')['ElButton']
ElCard: typeof import('element-plus/es')['ElCard']
ElCol: typeof import('element-plus/es')['ElCol']
+ ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDrawer: typeof import('element-plus/es')['ElDrawer']
ElDropdown: typeof import('element-plus/es')['ElDropdown']
ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
@@ -27,6 +28,9 @@
ElSelect: typeof import('element-plus/es')['ElSelect']
ElTable: typeof import('element-plus/es')['ElTable']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
+ ElTabPane: typeof import('element-plus/es')['ElTabPane']
+ ElTabs: typeof import('element-plus/es')['ElTabs']
+ ElTag: typeof import('element-plus/es')['ElTag']
ExamAudio: typeof import('./src/components/ExamAudio/index.vue')['default']
ExamInfo: typeof import('./src/components/ExamInfo/index.vue')['default']
ExamInfoDialog: typeof import('./src/components/ExamInfoDialog/index.vue')['default']
diff --git a/src/views/personal-center/index.vue b/src/views/personal-center/index.vue
index 26980b4..0995cbf 100644
--- a/src/views/personal-center/index.vue
+++ b/src/views/personal-center/index.vue
@@ -23,12 +23,12 @@
ref="fileHeadPortrait"
id="fileHeadPortrait"
/>
- <img
- class="img"
- id="headPortrait"
- @click="uploadImage"
- :src="'api/files/' + userData.imagePath"
- />
+ <img
+ class="img"
+ id="headPortrait"
+ @click="uploadImage"
+ :src="'api/files/' + userData.imagePath"
+ />
<span>{{ userData.userName }}</span>
</div>
<div>
@@ -55,8 +55,9 @@
:model="informationForm"
label-width="auto"
style="max-width: 600px"
+ :rules="informationRules"
>
- <el-form-item label="鐪熷疄濮撳悕">
+ <el-form-item label="鐪熷疄濮撳悕" prop="name">
<el-input v-model="informationForm.name" />
</el-form-item>
<el-form-item label="骞撮緞">
@@ -67,8 +68,8 @@
v-model="informationForm.sex"
style="width: 100px"
>
- <el-option label="鐢�" value="1" />
- <el-option label="濂�" value="2" />
+ <el-option label="鐢�" :value="1" />
+ <el-option label="濂�" :value="2" />
</el-select>
</el-form-item>
<el-form-item label="鍑虹敓骞存湀">
@@ -79,11 +80,14 @@
:size="size"
/>
</el-form-item>
- <el-form-item label="鎵嬫満">
- <el-input
- v-model="informationForm.phone"
- /> </el-form-item></el-form
- ></el-tab-pane>
+ <el-form-item label="鎵嬫満" prop="phone">
+ <el-input v-model="informationForm.phone" />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="onSubmit">鏇存柊</el-button>
+ </el-form-item></el-form
+ ></el-tab-pane
+ >
<el-tab-pane label="瀵嗙爜淇敼" name="password">
<el-form
:model="passwordForm"
@@ -123,6 +127,23 @@
phone: userData.value.phone,
birthDay: userData.value.birthDay,
});
+// 鎵嬫満鍙烽獙璇侀�昏緫
+const validatePhone = (rule, value, callback) => {
+ const phoneRegex = /^1[3-9]\d{9}$/;
+ if (!phoneRegex.test(value)) {
+ callback(new Error("鎵嬫満鍙锋牸寮忎笉姝g‘"));
+ } else {
+ callback();
+ }
+};
+
+const informationRules = {
+ name: [{ required: true, message: "璇峰~鍐欑湡瀹炲鍚�", trigger: "blur" }],
+ phone: [
+ { validator: validatePhone, trigger: "blur" },
+ { required: true, message: "璇疯緭鍏ユ墜鏈哄彿", trigger: "blur" },
+ ],
+};
const passwordForm = ref({ name: "" });
//澶村儚涓婁紶
let formData = new FormData();
--
Gitblit v1.8.0