lunedì 14 maggio 2012

Verificare correttezza di una data inserita come Stringa

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;
 }


Nessun commento:

Posta un commento