O Atributo DataAnnotations [Phone]

Qual é o formato padrão e válido do atributo [Phone]? Na tabela de dados, a coluna do telefone é navrchar (16) Se eu inserir um número de telefone como 1112223333, recebo "campo não é um número de telefone válido". Se eu inserir 01112223333, recebo "O valor '11112223333' é inválido."

Além disso, como substituí-lo? Eu entendo que eu poderia fazer algo assim, mas esta é a melhor prática neste caso?

[RegularExpression(@"((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}",ErrorMessage="Invalid Phone Number!")]

Código relacionado:

    [Required]
    [Phone]
    public string Phone { get; set; }

    <div class="editor-field">
       @Html.EditorFor(model => model.Phone)
       @Html.ValidationMessageFor(model => model.Phone)
    </div>

Atualizar Eu acho que houve um problema de mapeamento quando mudei a coluna do telefone de int para navrchar. A atualização do modelo não foi suficiente, então tive que alterar o valor manualmente usando o Mapeamento de Tabelas.

Erro 2019: o mapeamento de membros especificado não é válido. O tipo 'Edm.Int32 [Nullable = False, DefaultValue =]' do membro 'Phone' no tipo 'UserDBModel.UserProfile' não é compatível com 'SqlServerCe.nvarchar [Nullable = False, DefaultValue =, MaxLength = 16, Unicode = True , FixedLength = False] 'do membro' Phone 'no tipo' UserDBModel.Store.UserProfile '.

questionAnswers(2)

yourAnswerToTheQuestion