Bläddra i källkod

feat: NC-45: 结算后台登陆增加邮箱验证码.

kevin 1 år sedan
förälder
incheckning
57caa59d60
1 ändrade filer med 11 tillägg och 3 borttagningar
  1. 11 3
      backendApi/modules/v1/models/AdminForm.php

+ 11 - 3
backendApi/modules/v1/models/AdminForm.php

@@ -42,7 +42,7 @@ class AdminForm extends Model
             [['adminName', 'oldPassword'], 'required', 'on'=>['noLoginModifyPassword']],
             [['adminName'], 'unique', 'targetClass'=>Admin::class, 'targetAttribute'=>'ADMIN_NAME', 'on'=>['add']],
             ['surePassword', 'compare', 'compareAttribute'=>'password', 'message' => '两次密码必须一致'],
-            [['email', 'isEmail']]
+//            [['email', 'isEmail']]
         ];
     }
 
@@ -62,12 +62,14 @@ class AdminForm extends Model
         return array_merge($parentScenarios, $customScenarios);
     }
 
-    public function isEmail($attribute)
+    public function isEmail()
     {
         $pattern = "/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/";
         if ($this->email && !preg_match($pattern, $this->email)) {
-            $this->addError($attribute, '邮箱格式错误');
+            return false;
         }
+
+        return true;
     }
 
     public function attributeLabels()
@@ -98,6 +100,12 @@ class AdminForm extends Model
             return null;
         }
 
+        // 邮箱验证
+        if ($this->email && !$this->isEmail()) {
+            $this->addError('emailErr', '邮箱格式错误');
+            return null;
+        }
+
         if($this->scenario == 'add'){
             $model = new Admin();
             $model->ADMIN_NAME = strtolower($this->adminName);