'旧密码', 'new_pass' => '新密码', ]; } public function validatePassword($attribute, $params) { /* @var User $user */ $user = \Yii::$app->user->identity; if(!$user->validatePassword($this->old_pass)){ $this->addError($attribute, '旧密码错误'); } } public function updatePassword() { if (!$this->validate()){ throw new \yii\db\Exception($this->getErrorMsg()); } $t = \Yii::$app->db->beginTransaction(); try { /* @var User $user */ $user = \Yii::$app->user->identity; $user->setPassword($this->new_pass); $user->saveOrFail(); $t->commit(); return []; } catch (Exception $e) { $t->rollBack(); throw $e; } } }