JSF календарь возвращает неожиданное (не так?) значение - PullRequest
0 голосов
/ 21 июня 2019

У меня есть календарь простых лиц с прикрепленным к нему валидатором.

<p:calendar id="validationTriggeringCalendar"
            label="other calendar"
            value="#{myBean.otherDate}"
            navigator="true"
            locale="de"
            pattern="dd.MM.yyyy"
            showOn="button"
            renderAsPopup="true"
            required="true"
            size="12">
    <f:validator validatorId="packagename.DateFromToValidator" />
</p:calendar>
<p:calendar id="myCalendar"
            label="Some Date"
            value="#{myBean.someDate}"
            navigator="true"
            effect=""
            locale="de"
            pattern="dd.MM.yyyy"
            showOn="button"
            renderAsPopup="true"
            mindate="#{myBean.mindate}"
            size="12">
</p:calendar>

Внутри валидатора я получаю компонент пользовательского интерфейса календаря myCalendar (тот, который не вызвал валидацию) и вызываю метод getValue(), который не возвращает введенное в него значение.

Я отладил код валидатора, введя дату «10.10.2009»:

UIInput calendar = getMeTheCalendar();
Date date = (Date) calendar.getValue();

Мой отладчик даже сообщает мне, что значение submittedValue атрибута calendar равно «10.10.2009», именно то, что я ввел и что отображается в моем браузере. Но метод getValue() возвращает объект даты Thu Oct 10 00:00:00 CEST 2019.
Как получить введенное значение компонента?

Я использую Primefaces 5.3.1, кстати.

...