Comparação entre datas com JSF e Primefaces

4 respostas
java
F

Preciso fazer uma comparação entre datas, onde a data fim precisa obrigatoriamente ser maior que a data inicio.
Estou usando o componente Calendar primefaces. É possível fazer essa validação no front-end?

Esse é o meu código:

<p:outputLabel value="#{bundle.CreateLembreteLabel_lbeDatahorafrequenciainicio}" for=“lbeDatahorafrequenciainicio” />

<p:calendar id=“lbeDatahorafrequenciainicio” pattern=“dd/MM/yyyy HH:mm” locale=“pt”

value="#{lembreteController.selected.lbeDatahorafrequenciainicio}" mindate="#{pessoaController.maxDate}"

title="#{bundle.EditLembreteTitle_lbeDatahorafrequenciainicio}"

required=“true” requiredMessage="#{bundle.EditLembreteRequiredMessage_lbeDatahorafrequenciainicio}" mask=“99/99/9999 99:99” showOn=“button”/>
<p:outputLabel value="#{bundle.CreateLembreteLabel_lbeDatahorafrequenciafim}" for="lbeDatahorafrequenciafim" />
                    <p:calendar id="lbeDatahorafrequenciafim" pattern="dd/MM/yyyy HH:mm" locale="pt"
                                value="#{lembreteController.selected.lbeDatahorafrequenciafim}" mindate="#{pessoaController.maxDate}" 
                                title="#{bundle.EditLembreteTitle_lbeDatahorafrequenciafim}" 
                                required="true" requiredMessage="#{bundle.EditLembreteRequiredMessage_lbeDatahorafrequenciafim}" mask="99/99/9999 99:99" showOn="button"/>

4 Respostas

T

Dá para fazer no frontend eh so usar javascript e no onchange do input, voce pega os dois valores e compara. e tambem da para fazer validacao usando o ajax do componente do primefaces, chamando um metodo do servidor. Mas faz tanto tempo que nao faco mais nada em jsf + primefaces que nao lembro mais.

F

Obrigado pela ajuda, mas poderia ser um pouco mais detalhado como fazer essa validação usando o primefaces?

T

eu vou ter que procurar aqui nos projetos antigos, mas tem como voce colocar um ajax para ler um evendo com o primefaces. <p:ajax***/> ai voce colocar no evento onChange do campo. Ai essa tag, voce pode colocar um metodo no bean do servidor. ai voce tem acesso aos valores de data, e devolve a resposta. o fluxo é assim, mas preciso achar um codigo antigo aqui em que fazia esse tipo de validacao.

F

Cara se tu conseguir te agradeço muito, porque vai me ajudar demais, to empacado nessa validação a alguns dias e preciso concluir para entregar o projeto.

Criado 7 de agosto de 2020
Ultima resposta 12 de ago. de 2020
Respostas 4
Participantes 2