Bonjour,
dans mon code j'utilise une focntion de validation de format pourlaquelle je passe le format en question:
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;
	}
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
 
	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;
				}
			}
ça marche bien dans le sens que si je passe 05/08/2008, mais le problème est le suivant:
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???