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