none
Como validar datas no formato pt-BR no MVC Web API? RRS feed

  • Pergunta

  • Olá pessoal,

    estou tendo a seguinte dificuldade:

    Em meu controller tenho a seguinte action:

    public object Post(Cliente value){
        if (ModelState.IsValid)...
    }

    Na minha classe tenho um campo Datetime.

    Ao verificar o "ModelState.IsValid" ele está "false" e na lista de erros aparece a seguinte mensagem: "The value '30/08/1960' is not valid for CAMPO.". Se eu colocar uma data no formato mm/dd/yyyy funciona normalmente.

    Em meu web.config está a configuração:

      <system.web>
        <globalization responseEncoding="UTF-8" requestEncoding="UTF-8" culture="pt-BR" uiCulture ="pt-BR" />

    Já trabalho com MVC 3 e nunca tive esse problema. Mas agora em um novo projeto estamos utilizando Web API e apareceu isso.

    Já tiveram esse problema? Alguma ideia para solucionar?

    Agradeço desde já!

    Danilo

    quinta-feira, 25 de abril de 2013 18:55

Todas as Respostas

  • Opa Danilo esse post tem a solução para o seu problema

    Não esqueça de marcar o post como útil caso tenha te ajudado.

    quinta-feira, 25 de abril de 2013 19:16
  • Danilo,

    Tenta criar o seu input text assim:

    @Html.TextBoxFor(m => m.AsAtDate, "{0:d MMM yyyy}")

    Ou criar a propriedade assim:

    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
    public DateTime Data{ get; set; }



    Att,
    Leandro

    Se foi útil, marque como útil ou como resposta.



    sexta-feira, 26 de abril de 2013 01:22
  • Olá,

    nenhuma das formas resolveu. Mas consegui corrigir o problema configurando meu componente ExtJS para enviar o valor no formato mm/dd/yyyy.

    Detalhe: tive também um problema parecido com campos de valores decimais. Os valores só eram aceitos com "." na formatação. Se usasse "," ocorria um erro semelhante.

    Será que é algum problema no Web API?

    Obrigado pelas respostas.

    sexta-feira, 26 de abril de 2013 21:16