Bom dia pessoal,
Me surgiu uma dúvida a respeito se é apropriado criar um custom validator para validar um campo que não pode ter valor duplicado (pra isso é preciso fazer uma busca no banco de dados) ou o ideal seria deixar no Management Bean. Exemplo: Não é permitido cadastrar um livro com o mesmo nome.
DuplicateNameValidator
public class DuplicateNameValidator implements Validator {
private LivroDAO dao;
public void validate(FacesContext context, UIComponent component,
Object value) throws ValidatorException {
// busca livro pelo nome
// verifica se existe
// caso sim, lança exception
}
}
ou
LivroBean
public class LivroBean {
private LivroDAO dao;
private Livro livro;
public void save() {
// busca livro pelo nome
// verifica se existe
// caso sim, lança exception
// tudo ok, salva!
}
}
A principal dúvida é se o validator pode tratar desse tipo de validação, onde é necessário fazer buscas externas, ou ele valida somente em cima de informações do formulário.