Pessoal, no caso do número de páginas está mostrando duas mensagens do messages quando o campo é vazio. Uma diz que é inválido, acho que é porque o campo vazio é uma String e a outra de campo obrigatório. É possível resolver isso pra mostrar uma mensagem de cada vez?
field.required.produto.paginas = O campo páginas é obrigatório
typeMismatch = O tipo de dado é inválido