Validar data a partir de uma string "00/00/0000"  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
petter
Virtual Machine Man

Membro desde: 28/04/2006 17:11:34
Mensagens: 662
Offline

Pessoal recebo de um jTextField um campo String com o seguinte formato:dd/mm/aaaa, o meu problema agora é validar no Java se o cara digitou o dia e mes dentro dos limites (se possível levando em conta se o ano é bixesto).

Isso é possível?

-----------------------------------------
Java is the future
-----------------------------------------
[WWW]
Bjornn Borg
JavaChild

Membro desde: 25/03/2004 15:03:50
Mensagens: 140
Offline

Dê uma olhada nas classes DateFormat, SimpleDateFormat.

Tenha fé. O que é caro por R$ 10,00 poder ser barato por R$ 50,00 amanhã.

char[] name = {66,106,111,114,110,110,32,66,111,114,103};
char[] cert = {83,67,87,67,68,32,49,46,52};
Guilherme Moreira
JavaChild
[Avatar]

Membro desde: 27/03/2006 12:55:44
Mensagens: 112
Offline

Então se você estiver trabalhando com Strings você pode usar


www.caelum.com.br
[Email] [WWW]
sudeval
JavaGuru
[Avatar]

Membro desde: 08/06/2005 09:48:30
Mensagens: 213
Localização: Fortaleza/CE
Offline

petter
Virtual Machine Man

Membro desde: 28/04/2006 17:11:34
Mensagens: 662
Offline

Pessoal eu tentei implementar os exemplos de vcs mas nenhum retornou o que eu preciso. Na verdade eu preciso que se o usuário digitar "11/20/2006" por exemplo eu tenha como pegar via exception por exemplo que a data está incorreta para poder avisar o usuário.

-----------------------------------------
Java is the future
-----------------------------------------
[WWW]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

pense em expressões regulares

ou tente fazer um new Date dentro de um try catch

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
sudeval
JavaGuru
[Avatar]

Membro desde: 08/06/2005 09:48:30
Mensagens: 213
Localização: Fortaleza/CE
Offline



faz isso ae !
até se o dia nao estiver no mês, ele vai gritar !!!
não muda a mensagem no teu programa ta, hehe !
Guilherme Moreira
JavaChild
[Avatar]

Membro desde: 27/03/2006 12:55:44
Mensagens: 112
Offline

Bom há classes que fazem isso para você, mas não sei se você viu, mas você pode criar sua própria Exception por exemplo se o mês(índice 1 do meu exemplo) é inválido.



Se você gostou da minha idéia continue postando nesse tópico que a gente vê junto essas classes!

Mas compensa mais usar uma classe pronta para isso!!!!

Mas segue mais uma maneira!!


www.caelum.com.br
[Email] [WWW]
Roger75
GUJ Master
[Avatar]

Membro desde: 26/10/2003 12:18:59
Mensagens: 1294
Online

Tente assim:

sudeval
JavaGuru
[Avatar]

Membro desde: 08/06/2005 09:48:30
Mensagens: 213
Localização: Fortaleza/CE
Offline

Roger75 wrote:Tente assim:


tirem as crianças da sala, ou melhor crianças não facam isso !!!



vou colocar o codigo bonitinho e funcional denovo:


o setLenient(boolean) vai resolver o seu problema, ele como false nao vai deixar que uma data do tipo: 30/13/2006 se torne um 30/01/2007.
petter
Virtual Machine Man

Membro desde: 28/04/2006 17:11:34
Mensagens: 662
Offline

Pessoal valeu mesmo.

A solução que eu implementei foi essa:

-----------------------------------------
Java is the future
-----------------------------------------
[WWW]
sudeval
JavaGuru
[Avatar]

Membro desde: 08/06/2005 09:48:30
Mensagens: 213
Localização: Fortaleza/CE
Offline

hehe!
com a mensagem do Mané ele nunca mais iria fazer isso denovo!

qualquer coisa estamos ae!
petter
Virtual Machine Man

Membro desde: 28/04/2006 17:11:34
Mensagens: 662
Offline

Deixei a mensagem original e fiz um teste pro pessoal aqui.

Todo mundo aprovou esse novo padrão de mensagens de erro, mas por hora não podemos implementar.

-----------------------------------------
Java is the future
-----------------------------------------
[WWW]
jonaslc
Thread.start()

Membro desde: 25/03/2008 09:03:10
Mensagens: 32
Offline

galera , fiz dessa forma mas a data 03/3/96 por exemplo ele aceita
thegoergen
Virtual Machine Man
[Avatar]

Membro desde: 24/09/2007 09:44:03
Mensagens: 583
Localização: Estrela/RS
Offline

jonaslc wrote:galera , fiz dessa forma mas a data 03/3/96 por exemplo ele aceita


E não era pra aceitar???




PQP !!! O que que é isso??? Pelamordedeus...

"A preguiça de pensar é a maior burrice de uma pessoa." (Diego Inácio Goergen)

CV: Diego Inácio Goergen

Administrador da UNISCWiki e Medicina UNISC
[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team