Eae pessoal, blz?
O código abaixo ta “fora do padrão de código”, ainda não sei como coloca-lo corretamente
Estou fazendo uma aplicação para uma disciplina na faculdade e precisei utilizar data e conversão de String para data. Até ae tudo normal.
O meu problema é que eu preciso pegar uma data escrita pelo usuário e preciso validar ela dentro de um try-catch para permitir o cadastro caso seja uma data correta ou mostrar uma mensagem de erro caso seja invalida.
Quando eu uso a função de converter de String para Date, o java pede para circundar com o try-catch e tudo normal, mas o erro nunca é capturado quando coloco uma data invalida, pelo contrário, a data é aceita e meio que é “somada”, colocando uma data que corresponderia aquela escrita pelo usuário.
Por exemplo, eu digito 32/43/2018 em vez de dar erro, ser capturado pelo try-catch e aparecer minha mensagem de erro, a data é aceita correspondendo a “Sun Aug 01 00:00:00 BRT 2021”
SimpleDateFormat df = new SimpleDateFormat(“dd/MM/yyyy”);
try {
Date dt = df.parse(tfDataNascimento.getText());
c.setDataNascimento(dt);
System.out.println(dt);//Para pegar a data
} catch (ParseException ex) {
JOptionPane.showMessageDialog(null, “Data Invalida”, “Atenção”, JOptionPane.ERROR_MESSAGE);
}
}
else
JOptionPane.showMessageDialog(null, "Existe campo sem preencher", "Aviso", JOptionPane.WARNING_MESSAGE);
Agradeço desde já, obrigado.