Boa tarde,
Não estou conseguindo efetivar as validações do javax validation.
Após a configuração o metodo .hasErrors() sempre retorna false mesmo quando os campos anotados com @NotBlank estão vazios.
PedidoController.java
package br.com.alura.mudi.mudi.controller;
import br.com.alura.mudi.mudi.dto.RequisicaoNovoPedido;
import br.com.alura.mudi.mudi.model.Produto;
import br.com.alura.mudi.mudi.repository.ProdutoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.validation.Valid;
@Controller
@RequestMapping("pedidos")
public class PedidoController {
@Autowired
ProdutoRepository produtoRepository;
@GetMapping("formulario")
public String formulario() {
return "pedidos/formulario";
}
@PostMapping("novo")
public String novo(@Valid RequisicaoNovoPedido requisicao, BindingResult result) {
System.out.println("HAS ERROS");
System.out.println(result.hasErrors());
Produto produto = requisicao.toProduto();
produtoRepository.save(produto);
return "redirect:/home";
}
}
RequisicaoNovoPedido.java
package br.com.alura.mudi.mudi.dto;
import br.com.alura.mudi.mudi.model.Produto;
import javax.validation.constraints.NotBlank;
public class RequisicaoNovoPedido {
@NotBlank
private String nomeProduto;
@NotBlank
private String urlProduto;
@NotBlank
private String urlImagem;
private String descricaoProduto;
//GETTERS AND SETTERS
public String getNomeProduto() {
return nomeProduto;
}
public void setNomeProduto(String nomeProduto) {
this.nomeProduto = nomeProduto;
}
public String getUrlProduto() {
return urlProduto;
}
public void setUrlProduto(String urlProduto) {
this.urlProduto = urlProduto;
}
public String getUrlImagem() {
return urlImagem;
}
public void setUrlImagem(String urlImagem) {
this.urlImagem = urlImagem;
}
public String getDescricaoProduto() {
return descricaoProduto;
}
public void setDescricaoProduto(String descricaoProduto) {
this.descricaoProduto = descricaoProduto;
}
public Produto toProduto() {
Produto produto = new Produto();
produto.setUrlProduto(urlProduto);
produto.setNomeProduto(nomeProduto);
produto.setUrlImagem(urlImagem);
produto.setDescricaoProduto(descricaoProduto);
return produto;
}
}
Estou começando agora a utilizar spring as configurações estão certas ?
Utilizei Maven para baixar as dependencias e estou utilizando o Java 8.