Por favor, alguém me ajude, não sei mais o que fazer, rsrs… Estou aprendendo Java através da apostila da Caelum. Atualmente estou na parte de Spring MVC.
Cheguei no capítulo de Bean Validation (https://www.caelum.com.br/apostila-java-web/spring-mvc/#11-12-exercicios-validando-tarefas).
Estou seguindo exatamente o que a apostila diz para validar um campo nulo ou menor que 5 caracteres, porém não funciona de jeito nenhum, o formulário ignora a validação e salva o registro nulo no banco de dados. A única diferença é que não usei as libs do curso, baixei através do Maven.
Segue trechos principais das classes DTO e Controller:
TAREFA DTO
package br.com.tarefas.dto;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
public class Tarefa {
private Long id;
@NotNull @Size(min=5)
private String descricao;
(...)
TAREFA CONTROLLER
package br.com.tarefas.controller;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import br.com.tarefas.dao.TarefaDao;
import br.com.tarefas.dto.Tarefa;
@Controller
public class TarefasController {
@RequestMapping("novaTarefa")
public String form() {
return "tarefa/formulario";
}
@RequestMapping("adicionaTarefa")
public String adiciona(@Valid Tarefa tarefa, BindingResult result) {
if (result.hasFieldErrors("descricao")) {
return "tarefa/formulario";
}
TarefaDao dao = new TarefaDao();
dao.adiciona(tarefa);
return "tarefa/adicionada";
}
}