Bonjour,
dans mon code j'utilise une focntion de validation de format pourlaquelle je passe le format en question:
après l'appel de ma méthode est comme suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public static boolean validateDateFormat(String activationDate,String sFormat) { SimpleDateFormat sdf = new SimpleDateFormat(sFormat); Date d = new Date(); try { d = sdf.parse(activationDate); String t = sdf.format(d); if(t.compareTo(activationDate) != 0) return false; else return true; } catch (Exception e) { System.out.println("Exception"); } return false; }
ça marche bien dans le sens que si je passe 05/08/2008, mais le problème est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 if(activationDate !=null && !activationDate.toString().equals("")) { boolean dateValidation =validateDateFormat(activationDate.toString(),"dd/MM/yyyy"); if(!dateValidation){ getFormCache(pRequest).addFieldValidationException(dateFormatException); return PAGE_VALIDATION_FAILED_RESULT; } // check if the date is not in the past Date date = new Date(activationDate.toString()); Date currentDate = new Date(); if(date.before(currentDate)){ getFormCache(pRequest).addFieldValidationException(dateValidationException); return PAGE_VALIDATION_FAILED_RESULT; } }
si dans ma page la date 05/08/2008 est saisie pour dire 5 Aout 2008,
mon bout de code de controle ci-dessus if(date.before(currentDate)) me rend false en considérant la date 05/08/2008 plutot le 8 Mai 2008,
comment faire pour rectifier ce point???
Partager