我在数据表中有几个Calendar列:
<p:column headerText="Time From" >
<p:cellEditor>
<f:facet name="output">
<p:calendar pattern="dd/MM/yyyy HH:mm:ss.SSS" value="#{aa.timeFrom}"/>
</f:facet>
<f:facet name="input">
<p:calendar pattern="dd/MM/yyyy HH:mm:ss.SSS" value="#{aa.timeFrom}"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Time To">
<p:cellEditor>
<f:facet name="output">
<p:calendar pattern="dd/MM/yyyy HH:mm:ss.SSS" value="#{aa.timeTo}"/>
</f:facet>
<f:facet name="input">
<p:calendar pattern="dd/MM/yyyy HH:mm:ss.SSS" value="#{aa.timeTo}"/>
</f:facet>
</p:cellEditor>
</p:column>
还有一个“提交”按钮:
<p:commandButton value="Submit" action="#{aa.submit}" />
在单元格中单击鼠标按钮时会显示日历选择器。用户可以选择日期/时间或在单元格中输入值。如果输入了无效值,例如“123456”,然后在另一个单元格中单击鼠标,则无效单元格的单元格边框显示为红色,并显示以下错误消息:
“'123456'无法理解为日期和时间。例如:15/01/2018 11:54:02.247”
当用户点击“提交”按钮时,将调用提交操作。问题是在提交操作中,返回的无效值为空,而不是用户输入的值。有效值已正确设置。如何在提交操作中获取用户输入的无效值?在上面的例子中,我想得到“123456”而不是null。
如果无法返回无效值,那么是否可以在提交操作中找到哪些单元格具有无效值?我想区分未输入的值和输入的无效值(两个日期/时间都是可选的)。