Bom dia. Quando submeto o formulário sem inserir valor no campo Páginas
explore a exceção. Quando o campo recebe algum inteiro funciona normalmente (positivo não retorna o erro e negativo retorna a mensagem).
Segue o método validate()
.
public void validate(Object target, Errors error) {
ValidationUtils.rejectIfEmpty(error, "nome", "field.required");
ValidationUtils.rejectIfEmpty(error, "descricao", "field.required");
Produto p = (Produto) target;
if (p.getPaginas() <= 0) {
error.rejectValue("paginas", "field.required");
}
}
Esse é o arquivo message.properties
:
field.required = Campo obrigatório
field.required.produto.titulo = Título obrigatório
field.required.produto.descricao = Descrição obrigatório
field.required.produto.paginas = Informe a quantidade de páginas corretamente
typeMismatch = o tipo do dado é inválido
typeMismatch.produto.páginas = Informe um número válido
E o método messageSource()
:
public MessageSource messageSource(){
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("/WEB-INF/message");
messageSource.setDefaultEncoding("UTF-8");
messageSource.setCacheSeconds(1);
return messageSource;
}