Olá desenvolvedores, neste tutorial de implementação com a biblioteca de componentes PrimeFaces iremos implementar o carregamento de dados dos telefones cadastrados, a validação dos dados e o envio de uma mensagem de feedback para o usuário. Como já visto em tutoriais anteriores o feedback é importante para orientar o usuário enquanto ele interage com a nossa aplicação.

No tutorial “COMPONENTES JSF EM PRIMEFACES” constatamos que após o formulário ser submetido os dados salvos com sucesso não estão sendo listados na tabela de registros. Isto é, após ser enviado para o processamento no lado do servidor após o botão de “Salvar” ser clicado, os dados da tabela não estão sendo carregados para serem exibidos.

CARREGANDO OS DADOS CADASTRADOS

A correção deste bug é tão simples quando inusitada, a tabela possui o componente f:facet que por meio do atributo name determina se um dado conteúdo será um header (cabeçalho) ou footer (rodapé). Iremos então remover essa linha de código.

<f:facet name=“header”>Lista de Telefones</f:facet>

E uma vez que o p:dataTable é um componente do PrimeFaces todas as colunas também deverão ser uma tag p:column. E com apenas estas alterações corrigiremos os bugs e já poderemos ter os dados listados normalmente.

<p:column>...</p:column>

VALIDAÇÃO DE DADOS

Um formulário em branco não deve ser submetido, dessa forma deveremos implementar uma validação de dados, e enviar uma mensagem para o usuário quando algum campo cujo preenchimento é obrigatório for deixado em branco.

Assim, nos campos de saída de dados, h:inputText, em que o preenchimento deverá ser obrigatório inclua o atributo required. Implemente também neste mesmo campo, por meio do requiredMessage a mensagem que deverá ser exibida se houver uma tentativa de enviar o formulário com o campo em branco.

EM POUCAS PALAVRAS

Neste tutorial implementamos a validação de dados e a correção de um pequeno bug na tabela responsável pela exibição dos dados cadastrados. O que ressalta a importância de estudar a documentação, ou uma correção simples poderá tomar horas do seu tempo simplesmente por você não conhecer o framework e/ou biblioteca que está utilizando.