Usuário com melhor resposta
Formado de data na validação data annotation - host EUA

Pergunta
-
Olá
Testei minha aplicação localmente e show, coloquei um IIS local e direcionei no roteador e show. Na hora de por numa hospedagem baratinha que achei nos EUA (https://www.smarterasp.net/) tudo está funcionando bem porém logo de cara a validação já acusa problema na DATA (por causa de dd/mm/yyyy).
Também tem hora que o valor 15.000,00 ele não valida como correto.
A data por exemplo ele informa:
The value '25/05/2013' is not valid for DataInicial.
No WebConfig fiz assim:
<system.Web>
<httpRuntime targetFramework="4.5"/>
<globalization culture="pt-BR" uiCulture="pt-BR" />
</system.Web>O que mais posso fazer? Local e no IIS local está certo, no host que é americano ta dando sempre isso.
Obrigado
Respostas
-
Olá Romulo,
Dessa forma como você está implementando é melhor você usar o DateTime.UtcNow.
Informações sobre o DateTime.UtcNow:
http://msdn.microsoft.com/pt-br/library/system.datetime.utcnow.aspx
Usando o DateTime.Now se o servidor for reconfigurado para outro idioma você vai passar de novo pelo mesmo problema.
Fábio Alencar - MCP, MS e MCSD
- Sugerido como Resposta Fábio Alencar terça-feira, 4 de junho de 2013 12:37
- Marcado como Resposta Romulo Oliveira Almeida quarta-feira, 5 de junho de 2013 23:50
Todas as Respostas
-
-
Olá.
Estranhamente começou a funcionar... mas agradeço sua ajuda.
Mas daí tive outra coisa. Como o banco de dados ta nos EUA a hora lançada nos registros que joguei DateTime.Now ficaram com 4 horas a menos que nosso horário (GMT -3).
Achei que esse culture iria resolver mas me enganei. Tive que criar uma função static para ele, antes de gravar no banco via EF, acertar a data do lançamento. Por enquanto resolveu perfeitamente.
Será este o melhor jeito mesmo?
A função ficou assim:
public static DateTime AcertarHoraGMT() { return AcertarHoraGMT(DateTime.Now); } public static DateTime AcertarHoraGMT(DateTime pData) { if(System.Configuration.ConfigurationManager.AppSettings["HoraAjusteGMT"] == null) return pData; double Tempo = double.Parse(System.Configuration.ConfigurationManager.AppSettings["HoraAjusteGMT"]); return pData.AddHours(Tempo); }
Vlw! -
Olá Romulo,
Dessa forma como você está implementando é melhor você usar o DateTime.UtcNow.
Informações sobre o DateTime.UtcNow:
http://msdn.microsoft.com/pt-br/library/system.datetime.utcnow.aspx
Usando o DateTime.Now se o servidor for reconfigurado para outro idioma você vai passar de novo pelo mesmo problema.
Fábio Alencar - MCP, MS e MCSD
- Sugerido como Resposta Fábio Alencar terça-feira, 4 de junho de 2013 12:37
- Marcado como Resposta Romulo Oliveira Almeida quarta-feira, 5 de junho de 2013 23:50