none
Data Annotations DataType RRS feed

  • Pergunta

  • Bem pessoal, criando um formulário em mvc, e minha classe possui algumas Data Annotations, todas, ou quase, funcionando corretamente. Na propriedade de E-mail de minha classe coloquei o atributo

    [DataType(DataType.EmailAddress, ErrorMessage = "E-mail Inválido.")]

    Só que não acontece nada, dei uma pesquisada, mas tudo que encontrei, falava que está correto, e o DataType não faz validação, correto? Mas então pra que serve, como validar o E-mail?

    Os outros atributos de Data Annotations estão funcionando corretamente.

    Valeu!


    Alexsandre Rodrigues de Almeida - MCTS .NET Framework - Web Applications
    E-mail: alexsandrer@gmail.com
    Twitter: @AlexRAlmeida
    sexta-feira, 5 de novembro de 2010 19:16

Respostas

  • Fala Alexsandre,

    Realmente o DataType (estranhamente, por sinal) não faz a validação do tipo... Ele é utilizado para formatar o valor ao ser exibido em alguns casos... Veja:

    "Even though [DataType] looks like a validation attribute along with the others in Data Annotations,
    ASP.NET MVC does not treat it as one, so don’t expect [DataType(DataType.EmailAddress)] to validate for legal
    e-mail addresses! [DataType] is an anomaly ; even though it inherits from
    System.ComponentModel.DataAnnotations.ValidationAttribute, its IsValid() method is hard-coded to
    return true
    regardless of the property’s value. Microsoft has explained that [DataType] is only meant to serve as
    a hint for formatting data in a scaffolded UI , though it still seems strange that it inherits from
    ValidationAttribute."

    Para validar o e-mail, eu utilizo o atributo [RegularExpression].

     


    Forte abraço,

    André Borges Medeiros
    MCT, MCPD, MCTS

    >> Se a resposta solucionar sua dúvida, favor Votar como Útil
    • Sugerido como Resposta Buzios terça-feira, 9 de novembro de 2010 12:53
    • Marcado como Resposta Alexsandre terça-feira, 9 de novembro de 2010 19:50
    segunda-feira, 8 de novembro de 2010 11:25
    Moderador
  • Olá Alexsandre...

    No blog do Scott Gu's ele apresenta um exemplo ótimo para validação de e-mails. Melhor do que se eu tentasse explicar aqui pra você. Dá uma olhadinha lá e qualquer dúvida poste novamente: http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx.

    Abraço,
    Fabrício

    • Sugerido como Resposta Buzios terça-feira, 9 de novembro de 2010 12:53
    • Marcado como Resposta Alexsandre terça-feira, 9 de novembro de 2010 19:50
    segunda-feira, 8 de novembro de 2010 16:52

Todas as Respostas

  • Fala Alexsandre,

    Realmente o DataType (estranhamente, por sinal) não faz a validação do tipo... Ele é utilizado para formatar o valor ao ser exibido em alguns casos... Veja:

    "Even though [DataType] looks like a validation attribute along with the others in Data Annotations,
    ASP.NET MVC does not treat it as one, so don’t expect [DataType(DataType.EmailAddress)] to validate for legal
    e-mail addresses! [DataType] is an anomaly ; even though it inherits from
    System.ComponentModel.DataAnnotations.ValidationAttribute, its IsValid() method is hard-coded to
    return true
    regardless of the property’s value. Microsoft has explained that [DataType] is only meant to serve as
    a hint for formatting data in a scaffolded UI , though it still seems strange that it inherits from
    ValidationAttribute."

    Para validar o e-mail, eu utilizo o atributo [RegularExpression].

     


    Forte abraço,

    André Borges Medeiros
    MCT, MCPD, MCTS

    >> Se a resposta solucionar sua dúvida, favor Votar como Útil
    • Sugerido como Resposta Buzios terça-feira, 9 de novembro de 2010 12:53
    • Marcado como Resposta Alexsandre terça-feira, 9 de novembro de 2010 19:50
    segunda-feira, 8 de novembro de 2010 11:25
    Moderador
  • Olá Alexsandre...

    No blog do Scott Gu's ele apresenta um exemplo ótimo para validação de e-mails. Melhor do que se eu tentasse explicar aqui pra você. Dá uma olhadinha lá e qualquer dúvida poste novamente: http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx.

    Abraço,
    Fabrício

    • Sugerido como Resposta Buzios terça-feira, 9 de novembro de 2010 12:53
    • Marcado como Resposta Alexsandre terça-feira, 9 de novembro de 2010 19:50
    segunda-feira, 8 de novembro de 2010 16:52
  •  Valeu André.. como suspeitava.. so queria ter certeza..

      Valeu tbm Fabrício, o post do Scott Gu's me ajudou muito.. Valeu!!


    Alexsandre Rodrigues de Almeida - MCTS .NET Framework - Web Applications
    E-mail: alexsandrer@gmail.com
    Twitter: @AlexRAlmeida
    terça-feira, 9 de novembro de 2010 19:51