Доброе утро.
Вы забыли добавить модификатор "u" для работы с кирилицей.
['username', 'match', 'pattern' => '/^[^а-яА-Я]+$/ui'],
И если Вы используйте "i", то сократить можно до такой записи
['username', 'match', 'pattern' => '/^[^а-яё]+$/i'],
Ну и если Вам не нужна кириллица, то зачем проверять именно на присутствие кириллицы, а не сразу проверять латиницу?
['username', 'match', 'pattern' => '/^[a-z]+$/i'],
И можно попробовать убрать ограничение на начало и окончание строки.
['username', 'match', 'pattern' => '/[a-z]+/i'],
Так же можно ещё сократить запись pattern-a.
// \w соответствует [a-zA-Z0-9_]
['username', 'match', 'pattern' => '/\w+/i'],
даже латиница не работает при такой валидации
Не работает потому, что Вы не используете метасимвол повторения(если я правильно назвал)
При таком шаблоне
'/^[^а-яА-Я] $/i'
Вы ищите только один символ, а чтобы найти от одного и больше надо использовать "+", вот так
'/^[^а-яА-Я]+$/i'
P.S.
Для вывода пользовательского сообщения об ошибке можно передать дополнительный параметр в правило валидации
['username', 'match', 'pattern' => '/[a-z]+/i', 'message' => '{attribute} должен содержать только латиницу!'],
P.S.S.
Вот полезные ссылки:
1)
Регулярные выражения для новичков.
2)
yii\validators\Validator
3)
Документация YII2