2015-01-19 4 views
0

나는 이벤트 생성을 위해 프라임 스 캘린더를 사용하고 있습니다. "mindate"매개 변수를 사용하면 현재 날짜 이전 날을 비활성화 할 수 있습니다. 종료일까지도이 작업을 수행하고 시작일 전의 일을 비활성화합니다. 이것은 어떻게 처리 해야할지 모르겠다. 왜냐하면 backing 빈은 전체 폼의 유효성 검사 후에 만 ​​시작 날짜를 가져 오기 때문이다.프라임 캘린더 설정하기 시작일 설정 후 캘린더 종료일

inputText 필드에 시작 날짜를 입력 한 직후 빈을 설정해야합니다. 여기

되는 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}"/> 

백킹 빈의 방법 :

public Date getToday(){ 
    return new Date(); 
} 

답변

2

당신은 시작 날짜의 선택에 종료 날짜를 업데이트 할 <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}" /> 
+0

어떤 키보드에서 날짜 사용자 변경하는 경우 수동으로. 이 경우도 확인합니까? – Furkan

+0

@Furkan : 값이 수동으로 변경되면'dateSelect'와 마찬가지로'blur '이벤트를 사용할 수 있습니다. '

'. –

관련 문제