Validação por método em telas de inclusão e pesquisa

0 respostas
java
fer.ferreira6

Tenho uma tela onde posso pesquisar e incluir dados. Ou seja, tenho 3 campos e um grid.
Se o usuário preencher os campos e clicar em salvar, os dados são persistidos, se clicar em pesquisar, é feito uma consulta no banco de dados e os mesmos são exibidos no grid.

Anteriormente, validava os campos num método que era chamado dentro do método salvar. Explicando: era chamado o método salvar após o clique do botão e o método salvar chamada o método validar. Agora, estou tentando trocar para o Validator do Jsf, usando o “Validator Method”.

Algo do tipo:

<p:inputText id="inputNome" value="#{projetoBean.projeto.nome}" size="50" validator="#{projetoController2.isNomeValido}" />

public void isNomeValido(FacesContext context, UIComponent component, Object value) throws ValidatorException {
        final String nome;
        FacesMessage facesMessage;
        
        nome = (String) value;
        facesMessage = new FacesMessage(); 
        
        if(nome == null || nome.trim().length() == 0) {
            facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Campo 'Nome' é obrigatório", "Campo 'Nome' é obrigatório");
            throw new ValidatorException(facesMessage);
        }
    }

Até ai beleza, porém, possui dois botões, incluir e pesquisar, os dois são commandButton, ou seja, do tipo submit, mas com ajax. A minha dúvida é:

  • Existe uma forma correta de dizer para o método “Valide somente para o botão tal”?
  • Ou do jeito que estou fazendo não é o mais “correto”?
Criado 20 de junho de 2016
Respostas 0
Participantes 1