Olá desenvolvedores, nesta série de tutoriais sobre o Bean Validator estamos aprendendo a implementar validações de restrições no lado do servidor, isto é, na camada de modelo da aplicação.

o Bean Validator é uma API – Application Programming Interface, uma especificação do JAVA EE que nos permite validar regras de restrição e/ou de negócio na camada de modelo. Mas não apenas na camada de modelo. O 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. E para usá-lo é preciso adicionar ao projeto suas respectivas bibliotecas.

Assim, no tutorial “BEAN VALIDATOR: VALIDAÇÃO DE CAMPOS” conhecemos as anotações @NotEmpty e @NotNull, que impede o formulário de ser submetido se o campo “anotado” estiver vazio ou nulo. Neste tutorial conheceremos mais algumas anotações e validações.

NOVAS VALIDAÇÕES

No campo de nome, o limite mínimo e máximo de caracteres está sendo restringido na tela, isto é, no lado do cliente. Mas podemos fazê-lo com o Hibernate Validator utilizando a anotação @Size do pacote javax.validation.constraints. E além da quantidade de caracteres permitidos, é possível ainda, com esta anotação inserir uma mensagem para o usuário, caso ele não atenda aos requisitos. E por ser um campo obrigatório podemos adicionar também a anotação @NotEmpty.

@NotEmpty
@Size(min="10", max="50", message="O nome deverá ter entre 10 e 50 caracteres")
private String nome;

A mensagem não é um atributo obrigatório das anotações, no entanto, optar por adicioná-la nos dará a oportunidade de personalizá-la. Caso contrário, uma mensagem padrão, e, confusa para o usuário será exibida.

No campo referente a idade é possível definir também a idade mínima e a idade máxima permitida com as anotações @DecimalMax e @DecimalMin.

@DecimalMax(value=“70”, message=“ A idade informada deve ser menor que 70”)
@DecimalMin(value=“18”, message=“ A idade informada deve ser maior que 18”)
private Integer idade;

EM POUCAS PALAVRAS

Para cada tipo de dados existe uma anotação e perceba como é possível validar várias regras de negócio de forma simples e rápida, no lado do servidor, com o Hibernate Validator. Assim, como as regras de negócios não são implementadas na tela, mas sim, na camada de modelo, todas as classes que usarem a classe Pessoa terão acesso a elas.