我有一个Primefaces日历,上面附加了一个验证器。
<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>
在验证器内部,我获得了日历UI组件myCalendar
(未触发验证的组件),并调用了getValue()
方法,该方法不返回在其中输入的值。 / p>
我调试了验证器代码,输入了日期“ 2009年10月10日”:
UIInput calendar = getMeTheCalendar();
Date date = (Date) calendar.getValue();
我的调试器甚至告诉我submittedValue
的{{1}}属性的值是“ 10.10.2009”,正是我输入的内容以及在浏览器中显示的内容。但是calendar
方法返回一个日期对象getValue()
。
如何获取组件的输入值?
我使用Primefaces 5.3.1 btw。