Bean Validation / bindingresult

0 respostas
javaweb
francapriscylla

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>
Criado 9 de maio de 2020
Respostas 0
Participantes 1