设置开始日期后设置primefaces日历结束日期

nic*_*nne 1 calendar primefaces mindate jsf-2

我正在使用 primefaces 日历来创建活动。使用“mindate”参数,我禁用了当前日期之前的几天。即使在结束日期,我也想这样做,禁用开始日期之前的几天。我不知道如何处理这个问题,因为支持 bean 只有在整个表单验证之后才能获得开始日期。

我需要在 inputText 字段上输入开始日期后立即设置支持 bean。

这里的 HTML:

<p:calendar immediate="true" mindate="#{createEventBean.today}" id="startingtime" value="#{createEventBean.current.startingtime}"/>

<p:calendar mindate="#{createEventBean.current.startingtime}" id="endingtime" value="#{createEventBean.current.endingtime}"/>
Run Code Online (Sandbox Code Playgroud)

这里是支持 bean 的方法:

public Date getToday(){
    return new Date();
}
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 5

您可以使用<p:ajax>在选择开始日期时更新结束日期。在<p:calendar>支持AJAX事件dateSelect当选择一个日期被解雇。

所以,这应该做:

<p:calendar value="#{bean.startDate}" mindate="#{bean.today}">
    <p:ajax event="dateSelect" update="endDate" />
</p:calendar>
<p:calendar id="endDate" value="#{bean.endDate}" mindate="#{bean.startDate}" />
Run Code Online (Sandbox Code Playgroud)