Эта проверка идёт не через БД, а через сервис, который передаёт сайту рандомное число (код), если система получает то, что отправила, номер привязывается.
Без разницы откуда идёт проверка. Пишите свой валидатор, в документации есть как это сделать. Проверяйте своим валидатором, и если проходит проверка, то отправляйте запрос на запись в базу.
Или, как вариант, создайте свой публичный метод для проверки, через ajax(хотя это будет тот же валидатор). Если метод возвращает true - пишите в базу, если false - выдавайте ошибку.
И используйте ActiveForm.
Посмотрите функционал, там для Yii2 тоже есть.
А зачем? Я пока не собираюсь писать что либо подобное)))
Ну как говорится "Сам себя не похвалишь - никто не похвалит"...)))