Как настроить Rules() для модели в Yii2
Для автора, скорее всего, вопрос уже не актуален, но может кому-нибудь это пригодится.
Столкнулся с такой же проблемой. Решил следующим образом, причём средствами дефолтного валидатора:
1. копируем поле $model->username в $model->oldUsername.
2. в rules пишем следующее:public function rules() {
    return [
        //...
        ['username', 'unique', 'targetClass' => Users::className(), 'message' => 'Имя пользователя уже занято', 'filter' => ['!=', 'username', $this->oldUsername]],
        //...
    ];
}
Собственно, вот страница документации, которая помогла решить проблему: www.yiiframework.com/doc-2.0/yii-validators-unique...
Не гнушайтесь читать документацию, конкретно часть про сценарии.
Если коротко - то в Yii для моделей по умолчанию задаются два сценария валидации - insert (при вставке) и update (при обновлении существующей записи). Ваше правило валидации нужно просто поставить для сценария insert и только.