Вы таки какую модель имеете в виду? В бэкенде? Или во фронтенде? У вас к вопросу с одной стороны привязан тэг ASP.NET, а с другой стороны Javascript и jQuery.
А с другой стороны что подразумевается под термином "маска телефонного номера"? Вы хотите чтобы вводимые пользователем символы автоматически выравнивались по маске? Или вы хотите чтобы происходила проверка на соответствие маске, символов, которые вводит пользователь?
Сергей Егоров, Ну вот мне нужно что бы формат телефона был например 22-345 и пользователь не мог ввести другого формата. И я спрашиваю как лучше или вообще как это можно сделать, можно ли это как то сделать только с помощью атрибутов валидации или нужно через еще как то через JS?
z_a_p_a_r_a, вот за что я не люблю ASP.NET. Он скрывает подробности работы http, особенно от начинающих разработчиков.
Можно конечно сделать это атрибутами на сервере. Однако если это будут атрибуты валидации на сервере, например [RegularExpressionAttribute], то сценарий будет неоптимальный. Пользователь введет данные в неправильном формате, отправит их на сервер, сервер обнаружит что данные в неправильном формате, и вернет пользователю ошибку. С точки зрения удобства пользования - это жопа.
Надо делать на клиентской стороне. Писать на Javascript метод, который будет перехватывать события ввода, форматировать вводимые пользователем символы так, как надо и отображать их пользователю сразу уже отформатированными и посылать на сервер уже данные в нужном формате.