Olá desenvolvedores, neste tutorial daremos início a mais uma série de tutoriais e dessa vez, falaremos sobre o Hibernate Bean Validator. O Hibernate Validator permite expressar e validar as restrições da aplicação, isto é, com ele podemos validar os dados de uma aplicação por meio de uma API – Application Programming Interface. A fonte de metadados padrão são anotações, com a capacidade de substituir e estender por meio do uso de XML.

Quando se fala em Bean em Java, estamos falando de uma classe utilizada para manipulação de dados, e neste contexto, o Bean é a Entidade persistente. A API Bean Validator fornece uma facilidade para validar objetos em diferentes camadas da aplicação. Ele trabalha diretamente com os atributos da entidade, utilizando anotações.

Em outras palavras, quando integrado ao JSF – JavaServer Faces, esta especificação do Hibernate permite a validação dos objetos preenchidos por meio das páginas xhtml, isto é, com ele podemos fazer validações de regras de negócio.

PRINCIPAL VATAGEM

A principal vantagem em se utilizar o Bean Validator é que as restrições ficam inseridas nas classes de modelo e não em páginas xhtml, e assim podem ser usadas por outras camadas da aplicação.

Por exemplo, quando criamos um campo de texto, podemos determinar a quantidade máxima de caracteres permitido naquele campo. Ou ainda, restringir o campo a inserção somente de números. No entanto, todas essas restrições são a nível da camada de apresentação, tornando impossível a reutilização dessa validação em outra página.

Com o Hibernate Validator a restrição é criada uma única vez, em um só local e pode ser acessada por qualquer camada da aplicação. Assim, em casos de necessidade de alterações, ela poderá ser feita em um só lugar. Desse modo, se você cria uma classe que implementa o Validator, todas as camadas do sistema que utilizam esta classe terão acesso e utilizarão a mesma validação.

COMO INTEGRAR

A integração do Bean Validator em seu projeto JSF é bem fácil, será preciso adicionar mais uma biblioteca ao projeto, e a partir das anotações, o JSF compreende que tem que se integrar ao Hibernate Validator. Assim, a aplicação estará pronta para implementar na camada de modelo as mesmas validações implementadas na página xhtml.

EM POUCAS PALAVRAS

Obviamente que algumas validações poderão e deverão ser realizadas na página xhtml. Entretanto, é importante considerar esta opção de ter a possibilidade de na camada de modelo (classes persistentes) aplicar validações que poderão ser compartilhadas por qualquer camada da aplicação. Inclusive por sistemas externos que venham acessar em nossa aplicação a classe que integra o Hibernate Bean Validator.