Bean Validation facilita a escrita de código para validação, oferecendo ao desenvolvedor Java uma API de alto nível, a partir da qual podemos adicionar metadados as classes, que determinam se elas são válidas.
Aula 2 - Configuração do projeto
Caso você ainda não esteja familiarizado com a criação de um projeto do maven no Intellij IDEA, ou com as dependências necessárias para o Hibernate Validator, este vídeo poderá servir de referência e fonte de consulta.
Aula 3 - Classes base da aplicação: Venda, TipoVenda e ItemVenda
As classes necessárias para este curso estão contextualizadas um cenário no qual uma venda possui uma coleção de itens, bem como um tipo. Apresentamos então neste vídeo quais são as propriedades destas classes.
Aula 4 - Implementando validação na classe ItemVenda
Um item da venda necessita de uma descrição, um preço e um quantidade. Apresentamos neste vídeo como utilizar as anotações da Bean Validation para implementar essas regras.
Aula 5 - Validando a classe ItemVenda
Utilizar as anotações da API permite definir as regras de validação para uma classe. Após isso precisamos criar o código de validação com um Validator. Esse objeto nos dará acesso a um conjunto de ConstraintViolation.
Aula 6 - Implementando validação na classe Venda
Uma venda possui uma lista de itens válidos, a data na qual ela foi realizada, um total positivo, bem como um tipo. Saiba como utilizar as anotações da Bean Validation para implementar essas regras neste vídeo.
Aula 7 - Validando a classe Venda
Validator pode ser utilizado para validar qualquer classe, a partir dos metadados adicionados a ela com as anotações do pacote javax.validation. Sendo assim, neste vídeo modificamos o código de validação apresentado para ver na prática como valida.
Aula 8 - Criando a anotação @TotalPorTipo
Nem sempre as anotações nativas conseguem implementar uma regra de validação específica do negócio. Por isso é possível estender a API criando anotações customizadas.
Aula 9 - Criando a classe TotalPorTipoValidator
Por trás de uma anotação temos uma classe responsável pela validação, que tem seu comportamento definido pela interface ConstraintValidator, do pacote javax.validation.
Aula 10 - Validando a classe Venda pelo TipoVenda
Após serem apresentados os passo para sua criação, resta testar as classes TotalPorTipoValidator, bem como a anotação @TotalPorTipo adicionada a classe Venda.