Olá, mesmo utilizando o th:errors não mostra o erro que ocorre caso o usuario não preencha os campos!
<html>
<head>
<meta charset="UTF-8"/>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-aFq/bzH65dt+w6FI2ooMVUpc+21e0SRygnTpmBvdBgSdnuTN7QbdgL+OapgHtvPp" crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="container-fluid bg-secondary text-white p-5 mb-1">
<h1 class="display-4">Novo Pedido</h1>
</div>
<div class="card">
<form th:object="${requisicaoNovoPedido}" class="card-body"action="/pedido/novo" method="POST">
<div class="form-group">
<label for="nomeProduto">Produto</label>
<input th:field="*{nomeProduto}" class="form-control" placeholder="Nome do produto"/>
<small>Informe qual o nome do produto.</small>
<div th:errors="*{nomeProduto}">
Erro do nome do produto
</div>
</div>
<div class="form-group">
<label for="urlProduto">Url</label>
<input th:field="*{urlProduto}" class="form-control" placeholder="Url do produto"/>
<small>Procure em um site o produto que você deseja e cole aqui a URL.</small>
<div th:errors="*{urlProduto}">
Erro da url do produto
</div>
</div>
<div class="form-group">
<label for="urlImagem">Imagem</label>
<input th:field="*{urlImagem}" class="form-control" placeholder="Url da imagem"/>
<small>Copie a URL de uma boa imagem do produto e cole aqui para ajudar compradores.</small>
<div th:errors="*{urlImagem}">
Erro na url da imagem
</div>
</div>
<div class="form-group">
<label for="descricao">Produto</label>
<textarea th:field="*{descricao}" class="form-control mb-1" placeholder="Adicione detalhes importantes para os compradores."></textarea>
<div th:errors="*{descricao}">
Erro da descricao
</div>
</div>
<button type="submit" class="btn btn-primary">Cadastrar</button>
</form>
</div>
</div>
</body>
</html>