在我们的一项功能中,我们有一些日期字段用于内联编辑,我们已启用手动输入。如果在rich:calendar组件中,我们手动输入不正确的日期或垃圾数据,它甚至不会调用action方法。根据我们的要求,我们需要显示这些字段的日期验证错误消息。有没有办法跟踪日历字段中输入的日期是否适合此组件。 参考代码:
<rich:calendar id="actualOpeningDtCal" rendered="#{!empty aProgram.id}"
value="#{aProgram.actualOpeningDate}" placeholder="dd-mmm-yyyy"
inputSize="20" enableManualInput="true" datePattern="dd-MMM-yyyy"
buttonIcon="../content/images/calendar.png" showWeeksBar="false"
showFooter="false">
<a4j:support event="oninputblur" reRender="aList" ajaxSingle="false"
action="#{aController.inlineEdit}">
<f:setPropertyActionListener value="#{aProgram}"
target="#{aController.inLineEditaBean}" />
</a4j:support>
<a4j:support event="oncollapse" reRender="aList" ajaxSingle="false"
action="#{aController.inlineEdit}">
<f:setPropertyActionListener value="#{aProgram}"
target="#{aController.inLineEditaBean}" />
</a4j:support>
</rich:calendar>
答案 0 :(得分:1)
如果验证失败,则会出现错误消息。也许你没有展示它们。使用<rich:messages>
代替<h:messages>
将其呈现在ajax响应中。
一种不好的做法,但可能有用,就是使用immediate="true"
(绕过验证),然后在动作方法中进行验证。