Se occorre validare una data inserita dall'utente in formato Stringa può risultare utile un metodo di questo tipo (qui siamo in un contesto di utilizzo con Struts), dove con il SimpleDateFormat prima si verifica che il formato sia corerente con quanto ci aspettiamo (in questo caso dd/MM/yyyy), poi che sia effettivamente come data valida:
private boolean validaFormatoData(ActionMessages errors){
boolean retVal=false;
String formato="dd/MM/yyyy";
SimpleDateFormat sdf=new SimpleDateFormat(formato);
try
{
// verifichiamo prima la correttezza del formato
Date date = sdf.parse(data);
// ora verifichiamo che sia corretta come data
if (sdf.format(date).equals(data)) {
retVal = true;
} else {
retVal = false;
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"msg.ER", "Attenzione, la data inserita non è valida"));
}
}
catch(Exception ex){
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"msg.ER", "Attenzione, la data di nascita deve essere inserita nel formato gg/mm/aaaa"));
retVal=false;
}
return retVal;
}
private boolean validaFormatoData(ActionMessages errors){
boolean retVal=false;
String formato="dd/MM/yyyy";
SimpleDateFormat sdf=new SimpleDateFormat(formato);
try
{
// verifichiamo prima la correttezza del formato
Date date = sdf.parse(data);
// ora verifichiamo che sia corretta come data
if (sdf.format(date).equals(data)) {
retVal = true;
} else {
retVal = false;
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"msg.ER", "Attenzione, la data inserita non è valida"));
}
}
catch(Exception ex){
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"msg.ER", "Attenzione, la data di nascita deve essere inserita nel formato gg/mm/aaaa"));
retVal=false;
}
return retVal;
}
Nessun commento:
Posta un commento