Bem vindos a mais um artigo, pretendo nesse post mostra uma forma
legal de validar os campos DateTime e ter vários formatos pré definidos
para utilizar.
Vamos Criar um novo projeto do tipo Console, após criar vamos Adicionar
uma nova Classe com nome Util essa classe aonde nos vamos colocar os
nossos métodos de extensão que vai facilitar muito nossa vida na hora
que tivermos desenvolvendo qualquer trabalho.
Agora vamos criar um enum aonde vamos guarda vários formatos que vamos utilizar no decorrer do projeto como mostra abaixo.
3 | dtBR, dtUSA, hrFormato24HRs, hrComum |
Depois vamos criar um método que vai validar e passar como parâmetro
o tipo de formato que vamos querer utilizar em nossa string como mostra
o código abaixo.
02 | public static string ValidarDateTime( this string pValidar,tipodate pTipo) |
04 | string _dataRetorno = "Data formato invalido" ; |
06 | DateTime _data = DateTime.MinValue; |
08 | if (DateTime.TryParse(pValidar, out _data)) |
10 | if (pTipo == tipodate.dtBR) |
12 | _dataRetorno = _data.ToString( "dd/MM/yyyy" ); |
14 | else if (pTipo == tipodate.dtUSA) |
16 | _dataRetorno = _data.ToString( "MM/dd/yyyy" ); |
18 | else if (pTipo == tipodate.hrComum) |
20 | _dataRetorno = string .Format( "{0:hh:mm:ss}" , _data); |
22 | else if (pTipo == tipodate.hrFormato24HRs) |
24 | _dataRetorno = string .Format( "{0:HH:mm:ss}" , _data); |
Agora vou explicar cada passo qualquer método de extensão
obrigatoriamente precisa ser do tipo static e no parâmetro nos sempre
precisa colocar “This string” assim só que poder utilizar esse método
de extensão sempre vai ter que ser do tipo string nesse caso. Depois
que passamos os parâmetros, criei uma variável do tipo string que vai
retorna nossa validação e formato para nossa string e uma variável
auxiliar para utilizar para validar nossa variável DateTime.
E fiz a validação no primeiro IF para verificar se nossa data e valida
usando o método TryParse que tenta converte nossa string para um
DateTime se isso acontecer é porque o formato de data e valida se não e
invalido .
E Depois fiz alguns IF simples definindo os formatos que passei no
enum, abaixo vou colocar um exemplo de como pode ser usado nosso método.
04 | static void Main( string [] args) |
06 | string data = DateTime.Now.ToString(); |
07 | Console.WriteLine(data.ValidarDateTime(Util.tipodate.dtBR)); |
Dúvidas sugestões mande e-mail.