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.
 
            