Я не вижу в этом ничего плохого. Кажется, у меня все работает нормально. Проверка в точности так, как вы говорите, должна быть.
Номер телефона в порядке из-за маскированного ввода. Это гарантирует, что оно будет только в указанном вами формате, поэтому при отправке на сервер оно будет либо пустым, либо указанного вами формата.
Конечно, вам потребуется дополнительная проверка на стороне сервера.