6], // [['password'], 'match', 'pattern' => '/(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[-#_*%$])^.{6,16}$/', 'message' => '密码需包含大小写字母以及字符殊符号 #-_*%$组成',], ['password', 'compare', 'message' => '两次密码必须一致'], ]; } public function attributeLabels() { return [ 'old_password' => '原密码', 'password' => '新密码', 'password_repeat' => '重复输入密码' ]; } public function save() { if (!$this->validate()) return $this->getModelError(); $store_user = StoreUser::findOne([ 'user_id' => \Yii::$app->store->identity->user_id, ]); if (!$store_user->validatePassword($this->old_password)) { return [ 'code' => 1, 'msg' => '原密码不正确' ]; } $flag = $store_user->setPassword($this->password); if ($flag) { //@DONE 消息提醒 return [ 'code' => 0, 'msg' => '密码修改成功' ]; } else { return $this->getModelError($store_user); } } }