MrShi
17 小时以前 6e61b49f9cddbda65bad95af5d6300265384c37f
admin/src/components/system/user/ResetPwdWindow.vue
@@ -9,7 +9,7 @@
    <p class="tip" v-if="user != null">为用户 <em>{{user.realname}}</em> 重置密码</p>
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="新密码" prop="password" required>
        <el-input v-model="form.password" type="password" placeholder="请输入新密码" maxlength="30" show-password></el-input>
        <el-input v-model="form.password" type="password" placeholder="至少包括数字、大写字母、小写字母、特殊字符中的三种字符,且至少8位数" maxlength="30" show-password></el-input>
      </el-form-item>
    </el-form>
  </GlobalWindow>
@@ -31,7 +31,7 @@
      },
      rules: {
        password: [
          { required: true, message: '请输入密码' }
          { validator: this.validatePassword, trigger: 'blur' }
        ]
      }
    }
@@ -44,6 +44,22 @@
        this.$refs.form.resetFields()
      })
    },
    validatePassword (rule, value, callback) {
      if (!value) {
        callback(new Error('请输入密码'))
      } else {
        let typeCount = 0;
        if (/[a-z]/.test(value)) typeCount++; // 小写字母
        if (/[A-Z]/.test(value)) typeCount++; // 大写字母
        if (/\d/.test(value)) typeCount++;    // 数字
        if (/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(value)) typeCount++; // 特殊字符
        if (typeCount >= 3) {
          callback()
        } else {
          callback(new Error('至少包括数字、大写字母、小写字母、特殊字符中的三种字符,且至少8位数'))
        }
      }
    },
    // 确认重置密码
    confirm () {
      if (this.isWorking) {