1
resposta

Bean validation não funciona .

Pessoal, do nada meu bean validation parou de funcionar. Criei um novo projeto para teste e funcionou. Ja dei update no maven, clean project mas nada.

Pedido Controller

    @Autowired
    private PedidoService service;

    @GetMapping("formulario")
    public String formulario(PedidoDto novo) {
        return "pedido/formulario";
    }

    @PostMapping("novo")
    public String novo(@Valid PedidoDto pedido, BindingResult results) {

        return service.salvar(pedido) ? "redirect:/" : "pedido/formulario";
    }

html formulario

<html>
<head th:replace="~{base :: head}"></head>
<body>
    <div th:replace="~{base :: logo}"></div>

    <div class="container">
        <div th:replace="~{base :: titulo('Novo Pedido')}"></div>

        <div class="card mt-3">
            <form th:action="@{/pedido/novo}" th:object="${pedidoDto}"
                class="card-body" method="post">
                <div class="form-group">
                    <label for="nomeProduto">Produto</label> <input
                        th:field="*{nomeProduto}" th:errorclass="is-invalid"
                        class="form-control" placeholder="nome do produto" /> <small>Informa
                        qual o nome do produto.</small>
                    <div class="invalid-feedback" th:errors="*{nomeProduto}">
                        Erros do nome do produto</div>
                </div>
                <div class="form-group">
                    <label for="urlProduto">Url</label> <input th:field="*{urlProduto}"
                        th:errorclass="is-invalid" class="form-control"
                        placeholder="url do produto" /> <small>Procure em um site
                        o produto que você deseja e cole a url da página aqui.</small>
                    <div class="invalid-feedback" th:errors="*{urlProduto}">
                        Erros da url do produto</div>
                </div>
                <div class="form-group">
                    <label for="urlImagem">Imagem</label> <input
                        th:field="*{urlImagem}" th:errorclass="is-invalid"
                        class="form-control" placeholder="url da imagem" /> <small>Copie
                        a url de uma boa imagem do produto e cole aqui para ajudar a
                        conseguir compradores.</small>
                    <div class="invalid-feedback" th:errors="*{urlImagem}">Erros
                        dua url da imagem</div>
                </div>
                <div class="form-group">
                    <label for="descricao">Descricao</label>
                    <textarea th:field="*{descricao}" class="form-control"
                        placeholder="Adicione detalhes importantes para ajudar o comprador"></textarea>
                </div>
                <button class="btn btn-primary" type="submit">Cadastrar</button>
            </form>
        </div>
    </div>
</body>
</html>

POM xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.nicholas</groupId>
    <artifactId>mudi</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mudi</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>11</java.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.thymeleaf.extras</groupId>
            <artifactId>thymeleaf-extras-springsecurity5</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
1 resposta

Olá Nicholas, tudo bem? Apenas por esses trechos de código não consigo identificar o problema, você poderia disponibilizar o seu projeto no GitHub e deixar o link aqui pra que eu possa baixá-lo e verificar o problema?

Fico aguardando retorno!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software