黄何裕
2024-07-12 9c2eb9ed6da32c1830b02431875dacaa7f904b1f
修改资料校验
2个文件已修改
41 ■■■■ 已修改文件
components.d.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personal-center/index.vue 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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']
src/views/personal-center/index.vue
@@ -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("手机号格式不正确"));
  } 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();