You can use Bean Validation following the example:
Class with annotations:
public class Cliente {
@NotNull("O nome é obrigatorio")
@Size(min = 3, max = 20)
private String nome;
@NotNull("O sobre nome é obrigatorio")
@Size(min = 3, max = 40)
private String sobrenome;
// getters e setters
}
Code to validate annotations:
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Cliente cliente = new Cliente();
cliente.setNome("Ana");
cliente.setSobrenome("S.");
Set<ConstraintViolation<Cliente>> restricoes = validator.validate(cliente);
if(!restricoes.isEmpty()){
//EDIT
trow new MyCustomConstraintViolationException(restricoes);
}
// EDIT
Class MyCustomConstraintViolationException:
public class MyCustomConstraintViolationException extends RuntimeException {
private static final long serialVersionUID = 1L;
private Set<ConstraintViolation<Cliente>> restricoes
public MyCustomConstraintViolationException(Set<ConstraintViolation<Cliente>> restricoes) {
super("");
this.restricoes = restricoes;
}
public Set<ConstraintViolation<Cliente>> getRestricoes(){
return restricoes;
}
}