sábado, 2 de fevereiro de 2019

Algumas Validações com Extensão BeanValidation no JARCH

Introdução

Nos posts anteriores analisamos uma série de eventos, nesse post vou concentrar nos eventos de validação dos atributos da entidade. Por exemplo, antes de persistir a entidade no banco de dados validar se o campo é obrigatório, se o CPF / CNPJ é válido, se o cep é válido, etc..

@JArchValidCep
Valida se o Cep informado no atributo é válido
1
2
 @JArchValidCep
 private String cep;

@JArchValidCnpj
Valida se o CNPJ informado no atributo é válido
1
2
 @JArchValidCnpj
 private String cnpj;

@JArchValidCnpjBase
Valida se o CNPJ Base informado no atributo é válido
1
2
 @JArchValidCnpjBase
 private String cnpjBase;

@JArchValidCpf
Valida se o CPF informado no atributo é válido
1
2
 @JArchValidCpf
 private String cpf;

@JArchValidCpfCnpj
Valida se o CPF ou CNPJ informado no atributo é válido
1
2
 @JArchValidCpfCnpj
 private String cpfCnpj;

@JArchValidCurrency
Valida se o conteúdo informado no atributo é um valor monetário válido
1
2
 @JArchValidCurrency
 private Double valor;

@JArchValidInteger
Valida se o conteúdo informado no atributo é um valor inteiro válido
1
2
 @JArchValidInteger
 private Integer quantidade;

@JArchValidDdd
Valida se o DDD informado no atributo se enquadra em um DDD válido (10...999)
1
2
 @JArchValidDdd
 private String ddd;

@JArchValidPhone
Valida se o Telefone informado no atributo se enquadra em um telefone válido ((XXX)XXXX-XXXX ou (XXX)XXXXX-XXXX)
1
2
 @JArchValidPhone
 private String telefone;

@JArchValidEmail
Valida se o e-mail informado no atributo é válido
1
2
 @JArchValidEmail
 private String email;


@JArchValidPassword
Valida se a Senha informado no atributo se enquadra no level selecionado (LOW, MEDIUM, HIGH)
1
2
 @JArchValidPassword(level = LevelPasswordType.HIGH)
 private String senha;

@JArchValidRequired
Valida se o campo é obrigatório, as demais acima não validam se o campo deve estar preenchido, somente válida se tiver conteúdo.
1
2
 @JArchValidRequired
 private String nome;
para uma mensagem personalizada com um nome para o atributo
1
2
 @ArchValidRequired("label.sobreNomeResumido")
 private String sobreNome;

@JArchValidRequiredOneOfManyField
Verifica se pelo menos um dos campos está preenchido
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
@Entity
@ArchValidRequiredOneOfManyField(fields = {"rg", "Cpf"}, message = "message.campoRgOuCpfEObrigatorio")
public class PessoaEntity extends CrudMultiTenantEntity {
 
 @Id
 @GeneratedValue(strategy = GenerationType.AUTO, generator = "PessoaIdSequence")
 @Column(name = "id_pessoa")
 private Long id;

 @Column(name = "nr_rg", length = 10)
 private String rg;

 @Column(name = "nr_cpf", length = 11)
 private SiglaType cpf;
}

Conclusão

Essas são apenas algumas anotações de validação do JARCH. Sem adicionar codificação com essas anotações é possível efetuar diversos tipos de validações complicadas. É uma forma poderosa e fácil de validar o conteudo sem usar codificação adicional.

Até mais,

Nenhum comentário:

Postar um comentário

Versão 23.3.0-Final

      Introdução Nesse post vou mostrar as principais novidades da versão 23.3.0, algumas correções e pequenas alterações. Alterações Além d...