Olá Gustavo, tudo bem?
O atributo passThroughAttribute
é usado para adicionar atributos personalizados a um componente JSF. No seu caso, você está tentando usar passThroughAttribute
com o atributo type para definir o tipo de entrada como "date". No entanto, o problema ocorre porque você está usando um componente <h:inputText>
, que é um componente de texto simples e não suporta o tipo "date
" diretamente.
Para lidar com datas no JSF, você pode usar o componente <p:calendar> do PrimeFaces, que oferece suporte nativo para seleção de datas. Veja como ficaria o código usando <p:calendar>:
<h:outputLabel value="Data movimentação:" for="dataMovimentacao" />
<p:calendar id="dataMovimentacao" value="#{movimentacaoBean.movimentacao.dataMovimentacao.time}" pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo" />
No código acima, substituímos o <h:inputText>
pelo <p:calendar>
. Agora você pode selecionar a data usando o calendário fornecido pelo PrimeFaces.
Lembre-se de adicionar a biblioteca do PrimeFaces ao seu projeto, se ainda não o fez.
Se você preferir continuar usando o <h:inputText>
e o passThroughAttribute
, uma alternativa seria usar o tipo "text" no atributo type e validar a entrada no lado do servidor, convertendo a string em uma data no formato desejado. Você pode fazer isso usando conversores personalizados ou manipulando a conversão no seu bean.