luohairen
2024-11-01 2088fc58f63e6d72e48ae3fd5da5fa27d12bc0a5
src/views/user/student/edit.vue
@@ -2,16 +2,16 @@
  <div class="app-container">
    <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
      <el-form-item label="真实姓名:" prop="realName" required>
      <el-form-item label="真实姓名:" prop="realName">
        <el-input v-model="form.realName"></el-input>
      </el-form-item>
      <el-form-item label="手机:" prop="phone" required>
      <el-form-item label="手机号码:" prop="phone">
        <el-input v-model="form.phone"></el-input>
      </el-form-item>
      <el-form-item label="登录账号:" prop="userName" required>
      <el-form-item label="登录账号:" prop="userName">
        <el-input v-model="form.userName" autocomplete="off"></el-input>
      </el-form-item>
      <el-form-item label="登录密码:" prop="password" required>
      <el-form-item v-if="!form.id" label="登录密码:" prop="password">
        <el-input v-model="form.password" show-password autocomplete="off"></el-input>
      </el-form-item>
      <el-form-item label="年龄:">
@@ -25,12 +25,12 @@
      <el-form-item label="出生日期:">
        <el-date-picker v-model="form.birthDay" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"/>
      </el-form-item>
      <!--      <el-form-item label="年级:" prop="userLevel" required>-->
      <!--      <el-form-item label="年级:" prop="userLevel">-->
      <!--        <el-select v-model="form.userLevel" placeholder="年级">-->
      <!--          <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>-->
      <!--        </el-select>-->
      <!--      </el-form-item>-->
      <el-form-item label="状态:" required>
      <el-form-item label="状态:">
        <el-select v-model="form.status" placeholder="状态">
          <el-option v-for="item in statusEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
        </el-select>
@@ -51,7 +51,7 @@
  data () {
    var validatePassword = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请输入密码'))
        callback(new Error('请输入登录密码'))
      } else if (!/[A-Z]/.test(value)) {
        callback(new Error('密码必须包含至少一个大写字母'))
      } else if (!/[a-z]/.test(value)) {
@@ -63,12 +63,16 @@
      }
    }
    var validatePhone = (rule, value, callback) => {
      // 手机号验证逻辑
      const phoneRegex = /^1[3-9]\d{9}$/;
      // 手机号和座机号验证逻辑
      const phoneRegex = /^1[3-9]\d{9}$/; // 手机号格式
      const landlineRegex = /^\d{3,4}-?\d{7,8}$/; // 座机号格式,可以包含区号和可选的连字符
      if (!value) {
        callback(new Error('请输入手机号'));
        callback(new Error('请输入手机号或座机号'));
      } else if (!phoneRegex.test(value)) {
        callback(new Error('手机号格式不正确'));
        if (!landlineRegex.test(value)){
          callback(new Error('手机号或座机号格式不正确'));
        }
      } else {
        callback();
      }
@@ -90,7 +94,7 @@
      formLoading: false,
      rules: {
        userName: [
          { required: true, message: '请输入用户名', trigger: 'blur' }
          { required: true, message: '请输入登录账号', trigger: 'blur' }
        ],
        realName: [
          { required: true, message: '请输入真实姓名', trigger: 'blur' }