none
The specified value “2017-00-06” does not conform to the required format, “yyyy-MM-dd” RRS feed

  • Pergunta

  • Tenho um campo preenchido com date:

    <asp:TextBox ID="txtValidadeIni" runat="server"
       CssClass="form-control" MaxLength="10" type="date" name="date" 
       pattern="[0-9]{2}\/[0-9]{2}\/[0-9]{4}$" min="1970-01-01" max="2100-02-18">
    </asp:TextBox>
    Quando o usuário preenche e salva num campo tipo date no sql corretamente, fica salvo desta forma : "2017-10-06" Porém quando tento trazer este campo do banco para ser mostrado no formulário ele ta me retornando o seguinte erro:

    The specified value "2017-00-06" does not conform to the required format, "yyyy-MM-dd"

    Já tentei vários tipos de formatação, mas nenhuma me mostra os dados, segue da ultima forma que eu tentei:

    txtValidadeIni.Text = Convert
                          .ToDateTime(dr["data_inicio"]).ToString("yyyy-MM-dd");

    Lembrando que no banco de dados ela está salva assim "2017-10-06". 

    Porém de nenhuma forma q eu converto eu consigo mostrar para o usuário, sempre me informa esse erro do formato. Obrigado.

    terça-feira, 21 de novembro de 2017 10:34

Respostas

  • Mariana C. Costa,

    Tem validação nesse campo, porque 00 tá errado, não é um mês válido.

    The specified value "2017-00-06" does not conform to the required format, "yyyy-MM-dd"


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 22 de novembro de 2017 20:06

Todas as Respostas

  • Mariana, bom dia!

    Tente utilizar dessa forma:

    txtValidadeIni.Text = Convert.ToDateTime(dr["data_inicio"]).ToString("yyyy-mm-dd");

    att.

    Felipe

    terça-feira, 21 de novembro de 2017 11:24
  • Bom dia Felipe, eu fiz o teste conforme me informou, e ocorre o mesmo erro:

    The specified value "2017-00-06" does not conform to the required format, "yyyy-MM-dd".

    terça-feira, 21 de novembro de 2017 11:29
  • Certo!

    Como está vindo o valor do banco? Utilize o debug para ver como está vindo.

    att.

    Felipe

    terça-feira, 21 de novembro de 2017 11:47
  • Convertido conforme você me informou, ele vem assim: 2017-00-06, agora se eu coloco um alert, sem formatação, ele vem desta forma: 06/10/2017 00:00:00 
    terça-feira, 21 de novembro de 2017 12:09
  • No caso o "dr["data_inicio"].ToString() está retornando "06/10/2017 00:00:00", é isso?

    Posta o código do seu select fazendo favor, alguma coisa está estranha. Com a formatação .ToString("yyyy-mm-dd") era pra funcionar corretamente.

    att.

    Felipe

    terça-feira, 21 de novembro de 2017 12:19
  • Faça outro teste também, tente utilizar dessa forma:

    DateTime dataInicio = DateTime.MinValue;
    DateTime.TryParse(dr["data_inicio"].ToString(), out dataInicio);
    String dataFormatada = dataInicio.ToString("yyyy-MM-dd");

    O .ToString("yyyy-mm-dd")" está retornando 2017-00-06

    O .ToString(""yyyy-MM-dd")" está retornando 2017-10-06

    att.

    Felipe

    • Sugerido como Resposta SammuelMiranda segunda-feira, 27 de novembro de 2017 16:43
    terça-feira, 21 de novembro de 2017 12:25
  • Felipe, fiz desta forma e ele me retorna o seguinte erro no debug do Google Chrome: 

    The specified value "20/17/" does not conform to the required format, "yyyy-MM-dd".

    O mesmo erro, só que agora os valores são diferentes. o HTML por estar tipo date será que é este o problema? Eu sempre fiz assim, mas nunca precisei retornar o dados no campo. E agora ocorreu esta necessidade. 

    Fiz um teste neste momento Felipe, colocando os horas, os minutos e segundos, e um alert me mostrando a data, e até no debug, coloquei assim :

    dataInicio.ToString("yyyy-MM-dd hh:mm:ss");

    Ele me retorna a data 2017-10-06 12:00:00

    E no banco ele está salvando somente a data, não entendi porque ocorre isso. 


    • Editado Mariana C. Costa terça-feira, 21 de novembro de 2017 13:42
    • Sugerido como Resposta SammuelMiranda segunda-feira, 27 de novembro de 2017 16:44
    terça-feira, 21 de novembro de 2017 13:11
  • Felipe eu acabei de descobrir que o problema está no google chrome, infelizmente até o momento não achei nenhuma solução para utilizar no google chrome, no firefox aparece corretamente, se tiver alguma dica, fico agradecida.
    terça-feira, 21 de novembro de 2017 18:44
  • Mariana C. Costa,

    Tem validação nesse campo, porque 00 tá errado, não é um mês válido.

    The specified value "2017-00-06" does not conform to the required format, "yyyy-MM-dd"


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 22 de novembro de 2017 20:06
  • Sim, tem validação, ele salva corretamente no banco 2017-10-06, porém na outra de mostrar pro usuário, de trazer os dados do banco que aparece assim, ele n deixa de forma alguma aparecer no campo, igual informei anteriormente me parece que é um problema do Google Chrome, e eu não consegui resolver.
    quinta-feira, 23 de novembro de 2017 10:20
  • Bom dia.

    Qual a versão e linguagem (PT-BR, por exemplo) do chrome você está usando?

    Experimentou se no EDGE ou Internet Explorer apresenta o mesmo erro?


    MARIANO1776

    quinta-feira, 23 de novembro de 2017 11:28
  • Mariana, bom dia!

    Desculpe a demora pra te dar um retorno.

    Estava vendo seu código novamente, e vi um "pattern" no seu textbox.

    Esse pattern, é pra formatar seu textbox?

    Faça mais alguns testes, tente retirar o pattern, ou colocar a mascara nele igual está na sua formatação de dada, no caso substituir as "/" por "-".

    att.

    Felipe

    quinta-feira, 23 de novembro de 2017 11:30
  • Tirei o pattern e continuou o mesmo problema, no firefox ele funciona normal, o problema está no navegador mesmo, no textbox eu uso o type date.
    sexta-feira, 24 de novembro de 2017 16:17
  • Bom dia.

    Qual a versão e linguagem (PT-BR, por exemplo) do chrome você está usando?

    Experimentou se no EDGE ou Internet Explorer apresenta o mesmo erro?


    MARIANO1776

    segunda-feira, 27 de novembro de 2017 11:15
  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente.

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 30 de novembro de 2017 18:14
    Moderador