Olá, sou nova aqui. Estou estudando Java Web pelas apostilas da Caelum. Cheguei na parte do Spring MVC, apesar de fazer o passo a passo do que a apostila recomenda, estou tendo problemas em validar um objeto. Estou usando a anotação @Valid e usando tbm o bindingresult. No caso a descrição da tarefa precisa ter no mínimo 5 caracteres, contudo o programa está salvando mesmo com a descrição vazia. Não estou usando o Maven.
public class Tarefa {
@Size (min=5)
private String descricao;
}
@Controller
public class TarefasController {
@RequestMapping("novaTarefa")
public String form() {
return "formulario";
}
@RequestMapping("adicionaTarefa")
public String adiciona(@Valid Tarefa tarefa, BindingResult result) {
if(result.hasErrors()) {
return "formulario";
}
JdbcTarefaDao dao = new JdbcTarefaDao();
dao.adiciona(tarefa);
return "tarefa-adicionada";
}
}
web.xml
<display-name>fj21-tarefas2</display-name>
<servlet>
<servlet-name>SpringController</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringController</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
spring-context.xml
<mvc:annotation-driven /><!-- Configura permissão para o uso de anotação -->
<context:component-scan base-package="br.com.caelum.tarefas.controller" /><!--
Diretório: classes de controle -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- Jar: classe do spring responsável pela View -->
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>