Olá pessoal, minha dúvida é um pouco chata…
Eu capturo a data que o usuário digita para gravar no banco. O problema é que se for digitado um número qualquer, por exemplo, 35/05/2005, o java tá convertendo automaticamente para 05/06/2005…
O IDEAL É QUE EU CONSIGA REJEITAR ESSE TIPO DE DIGITAÇÃO.
???
Valeu
Cleiber
//Criei uma classe para tratar a data digitada :
package terceirizados;
import java.util.Locale;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class VerifData{
/** Creates a new instance of VerifData */
public VerifData() {
}
public Date getData(){
return this.dt_inicio;
}
// retorna o valor do campo tipo data em formato de STRING,
public String getDataSTR(){
String dt_inicio_aux = null;
try{
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.CANADA_FRENCH);
dt_inicio_aux = df.format(getData());
}
catch(Exception ex){
dt_inicio_aux = null;
}
return dt_inicio_aux;
}
public void setData(Date auxData){
this.dt_inicio = auxData;
}
// converte o valor de string para data
public void setData(String auxData){
//Verificar se o parâmetro possui algum valor.
if(auxData != null){
//Realizar a conversão de texto para número.
try{
SimpleDateFormat formatador1 = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date data1 = new java.util.Date();
data1 = formatador1.parse(auxData);
setData(data1);
}
catch(java.text.ParseException pe){
//Registrar o erro.
// setErros("dt_inicio", "20");
}
}
else{
Date d = null;
setData(d);
}
}
Date dt_inicio = new Date();
}