Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Validador Personalizado

Pessoal boa tarde! Tudo bem ?

Gostaria de tirar uma duvida, ha funcao comecaComDigito ha 3 parametros dentro dele (FacesContext fc, UIComponent component, Object value), mas quando passamos para o livro.xhtml, so precisamos declarar ela usando o EL. Minha duvida é, estes 3 parametros sao os dados do inputtext?(

                <h:inputText id="isbn" value="#{livroBean.livro.isbn}"
                    validator="#{livroBean.comecaComDigitoUm}" />

funcao comecaComDigitoUm

    public void comecaComDigitoUm(FacesContext fc, UIComponent component, Object value) throws ValidatorException {

        String valor = value.toString();
        if (!valor.startsWith("1")) {
            throw new ValidatorException(new FacesMessage("Deveria começar com 1"));
        }
    }
2 respostas
solução!

Julio, São parâmetros passados implicitamente:

  • O FacesContext basicamente contêm os elementos envolvidos no request e os elementos envolvido na renderização do response;

  • UiComponent é o componente JSF que está presente na árvore de componentes;

  • Value é o valor do componente que está sendo passado pelo inputText;

Você só precisa especificar o Value, os demais parâmetros o JSF consegue manipular automaticamente.

[]'s

Obrigado pela explicação \o/