Boa noite gente,
Estou desenvolvendo um sistema de controle de estoque com o ASP NET CORE e ENTITY Framework
Ao criar as classes, que representam as entidades na tabela do SQL, comecei a fazer certos tipos de verificações e também formatações para a visualização final e quando estava desenvolvendo a classe chamada Fornecedor, no qual tem os campos de CNPJ,CEP e Telefone. Fiquei com dúvida, pois o campo é uma String, porém eu quero que o usuário apenas digite números, alguém conhece alguma expressão regular que consiga fazer isso?
Segue abaixo o código:
public class Fornecedor
{
[Display(Name = "Codigo Fornecedor")]
public int Id_Fornecedor { get; set; }
[Required]
[Display(Name = "Fornecedor"),
StringLength(80, ErrorMessage = "Nome do fornecedor não pode ser maior que 80 caracteres."),
RegularExpression(@"^[A-Z]+[a-zA-Z""'\s-]*$", ErrorMessage = "Primeira letra deve ser Maiúscula!")]
public String Nome_Fornecedor { get; set; }
[Required]
[Display(Name = "CNPJ"),
DisplayFormat(DataFormatString = "{0:##.###.###/####-##}", ApplyFormatInEditMode = true),
StringLength(14, MinimumLength = 14, ErrorMessage = "CNPJ não pode ser maior que 14 digitos.")]
public String CNPJ_Fornecedor { get; set; }
[Display(Name = "CEP"),
DisplayFormat(DataFormatString = "{0:#####-###}", ApplyFormatInEditMode = true),
StringLength(8, MinimumLength = 8, ErrorMessage = "CEP não pode ser maior que 8 digitos.")]
public String CEP_Fornecedor { get; set; }
[Display(Name = "Telefone"),
DisplayFormat(DataFormatString = "{0:(##) ####-####}", ApplyFormatInEditMode = true),
StringLength(11, MinimumLength = 11, ErrorMessage = "Telefone não pode ser maior que 11 digitos")]
public String Telefone_Fornecedor { get; set; }
}
No caso para o nome eu encontrei uma expressão regular que faz com que o usuário não possa digitar espaços em branco e a primeira letra precisa ser maíscula.
Outra dúvida, é que quando eu estava pesquisando sobre expressões regulares e validações no ASP NET, eu encontrei um requerimento chamado [phone]
, que faz a verificação de telefone, no caso é uma verificação confiável ou eu também deixo formatado da minha forma?
Desde já obrigado!