Validação de Data [RESOLVIDO]

4 respostas
C

Pessoal boa tarde fiz um codigo aqui para validar data porém ela está com um bug. Se eu digitar 32/01/2012 automaticamente está sendo convertido par 01/02/2012, mas eu gostaria que retornasse false na função.

public static boolean isData(String data){                    
        SimpleDateFormat f= new SimpleDateFormat("dd/MM/yyyy");
        try {
            Date d;
            d=f.parse(data);
            return true;            
        } catch (Exception e) {         
            return false;
        }          
    }

Alguém pode me ajudar?
Obrigado.

4 Respostas

Rodrigo_Sasaki

Tente setar o lenient para false.SimpleDateFormat f= new SimpleDateFormat("dd/MM/yyyy"); f.setLenient(false);

C

Obrigado!

doravan

Veja minha resposta a este tópico: http://guj.com.br/java/284110-comparar-string-com-formato-desejadoresolvido

Rodrigo_Sasaki

Caramba, que pattern enorme hehehee.

Mas sinceramente, não acho que seja a melhor maneira, vai cobrir os mais óbvios, como qualquer data no padrão brasileiro separada por [-./]

Mas se alguém quiser algo um pouco diferente fica bem difícil, é mais interessante (na minha opinião) um método que valida uma data com um formato informado.

Criado 9 de outubro de 2012
Ultima resposta 9 de out. de 2012
Respostas 4
Participantes 3