В Yii2 можно использовать встроенное правило валидации `unique` для проверки уникальности сочетания нескольких полей. Вы уже на правильном пути с тем, что хотите использовать `targetAttribute`. Ваш код почти корректный, просто убедитесь, что определяете правило валидации в общем виде и что всё остальное настроено правильно.
Вот пример того, как вы можете использовать это правило в вашей модели:
```php
public function rules()
{
return [
[['login', 'group'], 'required'],
[['login', 'group'], 'unique', 'targetAttribute' => ['login', 'group'], 'message' => 'Это сочетание логина и группы уже существует.'],
];
}
```
Важно также убедиться, что в вашей базе данных установлено соответствующее ограничение на уровне схемы, чтобы предотвратить возможность записи дублирующихся данных. Вы можете создать уникальный индекс на сочетании полей `login` и `group`, чтобы обеспечить это на уровне базы данных. Например, если вы используете миграции, это может выглядеть следующим образом:
```php
public function safeUp()
{
$this->createIndex(
'idx-login-group',
'your_table_name',
['login', 'group'],
true // этот параметр устанавливает уникальность
);
}
```
Таким образом, правило валидации в модели будет работать вкупе с ограничением на уровне базы данных, что обеспечит целостность данных и предотвратит наличие дубликатов.