Explorar el Código

注册和忘记密码发送验证码逻辑优化

“陈博论” hace 10 meses
padre
commit
dc2eec2cfb
Se han modificado 2 ficheros con 26 adiciones y 8 borrados
  1. 14 5
      web/src/views/frontend/Register.vue
  2. 12 3
      web/src/views/frontend/Reset.vue

+ 14 - 5
web/src/views/frontend/Register.vue

@@ -53,7 +53,7 @@
           <el-input v-model="registerForm.confirmPassword" type="password" placeholder="再次输入密码" show-password />
         </el-form-item>
 
-        <el-form-item label="邀请码(选填)" prop="inviteCode">
+        <el-form-item label="邀请码(选填)" prop="inviteCode">
           <el-input v-model.trim="registerForm.inviteCode" placeholder="没有可留空" clearable />
         </el-form-item>
 
@@ -195,10 +195,19 @@ const handleRegister = () => {
 }
 
 const handleSendEmailCode = () => {
-  if (codeDisabled.value || !registerFormRef.value) return
-  registerFormRef.value.validateField('email', async error => {
-    if (error) return
-    // 发送验证码前先进行点选验证码验证
+  if (!registerFormRef.value) return
+  if (codeDisabled.value) return
+  if (!registerForm.email.trim()) {
+    ElMessage.warning('请输入邮箱地址')
+    return
+  }
+  
+  registerFormRef.value.validateField('email').then((valid) => {
+    if (!valid) {
+      // 验证失败,Element Plus 会自动显示错误信息
+      return
+    }
+    // 邮箱验证通过,发送验证码前先进行点选验证码验证
     clickCaptcha(registerForm.captchaId, async (captchaInfo) => {
       sendingCode.value = true
       registerForm.captchaInfo = captchaInfo

+ 12 - 3
web/src/views/frontend/Reset.vue

@@ -156,9 +156,18 @@ const handleReset = () => {
 }
 
 const handleSendEmailCode = () => {
-  if (codeDisabled.value || !resetFormRef.value) return
-  resetFormRef.value.validateField('email', async error => {
-    if (error) return
+  if (!resetFormRef.value) return
+  if (codeDisabled.value) return
+  if (!resetForm.email.trim()) {
+    ElMessage.warning('请输入邮箱地址')
+    return
+  }
+  
+  resetFormRef.value.validateField('email').then(async (valid) => {
+    if (!valid) {
+      // 验证失败,Element Plus 会自动显示错误信息
+      return
+    }
     sendingCode.value = true
     try {
       // TODO: 接入后端发送重置验证码接口