Validando Data com Spring MVC

Minha validação está funcionando quando informo a data no formato: dd/MM/yyyy. Porém, quero validar quando o pattern for diferente de dd/MM/yyyy.
Quando passo uma data sem ser no formato dd/MM/yyyy aparece a seguinte mensagem:
Failed to convert property value of type java.lang.String to required type java.util.Date for property data; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type java.lang.String to type @org.springframework.format.annotation.DateTimeFormat java.util.Date for value 11/11; nested exception is java.lang.IllegalArgumentException: Unable to parse 11/11.

Acho que com bean validation, pode-se utilizar a anotation: @DateTimeFormat (pattern = “MM/dd/yyyy”) no atributo referente a data lá no model.

Já estou utilizando esse Pattern e funciona quando passo uma data válida. O erro acontece quando passo uma data inválida.

Será que o idioma do browser pode estar influenciando?
Tentar colocar o idioma do browser para inglês e faz um teste.
Se for esse o problema então tem que colocar na classe de configuração do spring(a classe que configura o template) o localeResolver:

@Bean
	public LocaleResolver localeResolver() {
		return new FixedLocaleResolver(new Locale("pt", "BR"));
}

Eu estou forçando esse erro.
Estou passando uma data inválida. Ex.: 27/12.
O Binding já faz essa validação e devolve a mensagem de erro. Quero padronizar essa mensagem.

Quando eu passo a data no formato correto tá OK.
Ex.: 27/12/2016.

Entendi, você quer customizar a mensagem para ficar num formato amigável.
Dê uma olhada neste blog:


O autor customiza a mensagem usando message.properties file

Outra opção seria você utilizar um campo com jQuery para obrigar o usuário a digitar a data correta antes mesmo de submeter o formulário. Assim não precisaria formatar a mensagena de error.