Erro em conversão automática de Data - VRaptor [Resolvido]

Boa tarde,

Tenho um formulário a qual o usuário preenche a data no formato “dd/mm/yyyy” e ao submitar o formulário o VRaptor automaticamente popula o objeto “Controle” com o atributo do tipo “Date”.
O problema acontece quando o usuário preenche uma data inválida por exemplo “35/35/9999” o VRaptor converte automaticamente para uma data válida: “Thu Dec 05 00:00:00 BRST 2013” (05/12/2013), e na validação do sistema esse dado e tratado como válido.

@Temporal(TemporalType.DATE ) private Date data;

Como posso fazer para resolver essa conversão para validar a data corretamente?

Agradeço qualquer ajuda,
Obrigado!

Encontrei a solução, segue abaixo o código que utilizei:

[code]@Convert(Date.class)
@ApplicationScoped
public class DateConverterHelper implements Converter {

public Date convert(String value, Class<? extends Date> type, ResourceBundle bundle) {
	if (value == null || value.equals("")) {
		return null;
	}
	try {
		DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
		format.setLenient(false);
		return (Date) format.parse(value);
	} catch (ParseException e) {
		throw new ConversionError(MessageFormat.format(bundle.getString("data.invalida"), value));
	}
}

}[/code]Obrigado!

Olá a todos.
Estou utilizando o VRAPTOR, neste caso, como conseguiria capturar os erros no Validator em tempo de Conversão, é possível isso?
Este Converter gera uma exception e consequentemente a data chega nula no controller, eu precisaria que retornasse algo parecido com:

try { DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); format.setLenient(false); return format.parse(value); } catch (ParseException e) { validator.add(new ValidationMessage(bundle.getString("data"), bundle.getString("message.invalid.date"))); throw new ConversionError(MessageFormat.format(bundle.getString("message.invalid.date"), value)); }

Coloquei o Converter como @RequestScoped para injetar o validator, mas o seguinte erro é gerado:

Obrigado!

vc só precisa do throw new ConversionError, ele já é adicionado automaticamente no validator.

e nesse caso, vc precisa ter a chamada validator.onErrorXXX no controller, como o erro está te falando.

Bom dia Lucas, obrigado pelo retorno.

Descobri o problema.
Estava usando uma classe que estendia Validator e não trazia nela os erros do Converter.
Quando mudei para o Validator do VRAPTOR funcionou perfeitamente.

Abraços!