p:calendar pegar valor digitado assim que componente perde o foco

471 views
Skip to first unread message

Leonardo Ribeiro

unread,
Feb 22, 2012, 6:38:15 AM2/22/12
to jav...@googlegroups.com
Pessoal,

Tem como eu pegar o valor digitado, sim digitado e não selecionado no calendário (popup) assim que o componente perder o foco?
Eu tentei o seguinte:

<p:calendar id="dfDataCadastro" value="#{clienteService.dataCadastro}" showOn="button" effect="slide" effectDuration="500" pattern="dd/MM/yyyy" navigator="true" requiredMessage="Data Cadastro é obrigatório">
    <p:ajax event="onChange" process="@this" update=":dfDataCadastro; :grow" listener="#{clienteService.verificaData}"/>
</p:calendar>
<h:message  for="dfDataCadastro" errorClass="error"/>

No caso acima o método verificaData nem é chamado. Se eu altero para

<p:ajax event="dateSelect" process="@this" update=":dfDataCadastro; :grow" listener="#{clienteService.verificaData}"/>

O método verificaData é chamado mas só quando eu seleciono uma data pelo calendário popup.
É que se o usuário digitar uma data eu precisava validar o que foi digitado, por exemplo, se o cara digitar 15
a data será "entendida" como 15/02/2012. Então eu preciso pegar a "String" digitada.
Tem como?


--
[]'s
Leonardo

Linux User #488650
Ubuntu User #27045
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Everton Fujimoto

unread,
Feb 22, 2012, 8:18:40 AM2/22/12
to jav...@googlegroups.com
o event não é "onchange", é somente "change".

Att.
Everton William Fujimoto
Hecate Systems
CIO
(47)3394-5516
(47)9947-5481



--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

Leonardo Ribeiro

unread,
Feb 22, 2012, 3:45:20 PM2/22/12
to jav...@googlegroups.com
Everton,

Tem razão, era isso mesmo.
Agora o problema é outro.
Se eu digito apenas "12" recebo um erro de conversão.

Acho que no caso eu teria que escrever um Converter específico né?

2012/2/22 Everton Fujimoto <evert...@gmail.com>

Leonardo Ribeiro

unread,
Feb 22, 2012, 6:58:55 PM2/22/12
to jav...@googlegroups.com
Implementei um datConverter e debugando vi que funciona, ele transforma 12 em 12/02/2012 porém na tela o componente continua exibindo "12".

2012/2/22 Leonardo Ribeiro <leojr...@gmail.com>

Everton Fujimoto

unread,
Feb 22, 2012, 6:05:13 PM2/22/12
to jav...@googlegroups.com
fala de digitar 12 na data né? Aí é claro que vai dar erro de conversão, pois somente "12" não forma data.

Tenta colocar a data no formato do p:calendar, ou define o pattern dele.

Att.
Everton William Fujimoto
Hecate Systems
CIO
(47)3394-5516
(47)9947-5481



Leonardo Ribeiro

unread,
Feb 23, 2012, 8:09:10 AM2/23/12
to jav...@googlegroups.com
Eu fiz o converter e ele ajusta o "12" para no caso "12/02/2012" o problema é que na tela o valor não é atualizado e fica exibindo 12 mesmo depois de convertido a "String" 12 para o "Date" 12/02/2012.



2012/2/22 Everton Fujimoto <evert...@gmail.com>
Reply all
Reply to author
Forward
0 new messages