1
resposta

Data Annotations em C#

As DatasAnnotations são atributos para adicionar metadados ás classes e propriedades. Onde, permitem definir regras de:

  • Validação : Garantem que os dados recebidos sejam válidos.
    Ex : [Required], [Range], [StringLength].

  • Formatação : Definem como os dados devem ser tratados ou exibidos.
    Ex : [DataType(DataType.EmailAddress)], [RegularExpression].

  • Exibição : Alteram como os campos aparecem em formulários ou views.
    Ex : [Display(Name="Nome Completo")], [DisplayFormat].

  • Mapeamento : Usadas pelo Entity Framework para definir chaves e relacionamentos.
    Ex : [Key], [ForeignKey], [Timestamp].

  1. Exemplo :
public class Usuario
{
    [Key]
    public int Id { get; set; }

    [Required(ErrorMessage = "O nome é obrigatório")]
    [StringLength(50, MinimumLength = 3)]
    [Display(Name = "Nome Completo")]
    public string Nome { get; set; }

    [Required(ErrorMessage = "Informe o email")]
    [EmailAddress(ErrorMessage = "Email inválido")]
    public string Email { get; set; }

    [DataType(DataType.Password)]
    [StringLength(10, MinimumLength = 4)]
    public string Senha { get; set; }
}

No exemplo :

  • Nome vai ser obrigatório, entre 3 e 50 caracteres, exibido como "Nome Completo".
  • Email vai ser obrigatório e precisa ser válido.
  • Senha vai ser tratada como campo de senha, entre 4 e 10 caracteres.

As Data Annotations são uma forma simples e poderosa de aplicar validações e metadados em modelos C#.
Elas tornam o código mais limpo, reduzem erros e facilitam o desenvolvimento de APIs e aplicações web.

1 resposta

Oi, Matheus! Como vai?

Agradeço por compartilhar.

Gostei da forma como você organizou as Data Annotations por categorias, mostrando validação, formatação, exibição e mapeamento. O exemplo da classe Usuario ficou bem claro e ajuda a visualizar como atributos como [Required], [StringLength], [EmailAddress] e [Key] deixam o modelo mais organizado e com regras bem definidas.

Continue praticando esse tipo de estrutura, pois ela é muito usada em APIs com .NET.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!