Depois de muitas... Mas muitas pesquisas encontrei a solução definitiva para um problema e sem a utilização das bibliotecas do MyFaces. (Pra quem utiliza o Mojarra este artigo vai ser uma mão na roda).
O Primefaces 3.4.2 não possui (acredito que por enquanto) uma forma de notificar o usuário sobre os campos obrigatórios antes da submissão do formulário, ou seja, se você quiser indicar que o usuário deve preencher determinados campos só será possível indicar esses campos após submeter o formulário.
Abaixo listo alguns pontos que devem ser considerados para que os campos sejam marcados como obrigatórios antes da submissão do formulário:
- O usuário poderia simplesmente ir direto aos campos obrigatórios e preencher-los sem precisar submeter o formulário.
- Algumas validações comuns no formulário não causariam confusões e perdas de produtividade por parte do usuário.
- Indicar que um campo é obrigatório está presente em diversos sistemas desenvolvidos sem o Primefaces e JSF.
A solução
Primeiro passo, criar uma subclasse da com.sun.faces.renderkit.html_basic.LabelRenderer em seguida sobrescrever o método: encodeBegin(), conforme a listagem:
Em seguida, você vai precisar registrar a classe no faces-config.xml conforme a listagem abaixo (o nome que dei pra minha classe foi MyLabelRenderer):
Pequena Explicação sobre o que acontece:
O método encondeBegin deverá pesquisar todos os inputText da página com a tag required="true" e em seguida adicionar o asterisco formatado ao outputLabel antes do rótulo do campo.
Qualquer dúvida, é só postar nos comentários.
Abraços!






Excelente! Só na próxima use um code para sua página, imagem o cara sofre reescrevendo tudo. Abraço
ResponderExcluirObrigado pelo feedback Felipe, pode deixar que os próximos vou colocar os códigos em tags code.
Excluir