for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace toir427\admin\models\form;
use Yii;
use toir427\admin\models\User;
use yii\base\Model;
/**
* Description of ChangePassword
*
* @author Misbahul D Munir <[email protected]>
* @since 1.0
*/
class ChangePassword extends Model
{
public $oldPassword;
public $newPassword;
public $retypePassword;
* @inheritdoc
public function rules()
return [
[['oldPassword', 'newPassword', 'retypePassword'], 'required'],
[['oldPassword'], 'validatePassword'],
[['newPassword'], 'string', 'min' => 6],
[['retypePassword'], 'compare', 'compareAttribute' => 'newPassword'],
];
}
* Validates the password.
* This method serves as the inline validation for password.
public function validatePassword()
/* @var $user User */
$user = Yii::$app->user->identity;
if (!$user || !$user->validatePassword($this->oldPassword)) {
$user
toir427\admin\models\User
true
$this->addError('oldPassword', 'Incorrect old password.');
* Change password.
* @return User|null the saved model or null if saving fails
public function change()
if ($this->validate()) {
$user->setPassword($this->newPassword);
$user->generateAuthKey();
if ($user->save()) {
return true;
return true
null|toir427\admin\models\User
return false;
return false
false