Pessoal boa noite, novamente eu aqui.
Estou com um problema na minha aplicação e tem uma grande chance de eu ter feito besteira.
O que acontece é o seguinte, eu normalmente não pego o projeto disponibilizado nas primeiras aulas, eu geralmente crio o meu do zero, utilizando Maven.
Ai o problema é, o meu Bean Validation não está sendo ativado quando há um problema de validação no meu formulário.
Vejam, essa é minha classe que representa a entidade no banco, está anotada com as validações que preciso:
@Entity
public class Conta implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull(message = "{conta.formulario.descricao.obrigatorio}")
@Size(min = 3, message = "{conta.formulario.descricao.tamanho}")
private String descricao;
@NotNull(message = "{conta.formulario.valor.obrigatorio}")
private Double valor;
private boolean paga;
@Column(name = "data_pagamento")
@Temporal(TemporalType.DATE)
private Calendar dataPagamento;
@Column(name = "tipo_conta")
@Enumerated(EnumType.STRING)
private TipoDaConta tipo;
}
Aqui está meu ContaController.java da mesma forma que demonstra no vídeo:
@RequestMapping("adicionarConta")
public String adicionarConta(@Valid Conta conta, BindingResult result) {
if (result.hasErrors()) {
return "conta/formContas";
}
DAO<Conta> contaDAO = new DAO<Conta>(Conta.class);
contaDAO.gravar(conta);
return "conta/contaAdicionada";
}
E sempre que eu submeto o formulário, ele passa pela linha if (result.hasErrors())
sem entrar no "if" :/.
Alguém consegue me dar uma luz?
Valeu!