Подтверждение неправильной записи даты в богатых лицах - PullRequest
0 голосов
/ 16 июня 2010

В одной из наших функций у нас есть несколько полей даты для встроенного редактирования, где мы включили ручной ввод. Если в компоненте rich: calendar мы вручную введем неправильную дату или ненужные данные, он даже не вызовет метод действия. В соответствии с нашим требованием нам нужно отобразить сообщение об ошибке для проверки даты для таких полей. Есть ли способ отследить, что дата, введенная в поле календаря, не подходит для этого компонента. Код для ссылки:

<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>   

1 Ответ

1 голос
/ 16 июня 2010

Если проверка не пройдена, появляются сообщения об ошибках. Возможно, вы их не показываете. Используйте <rich:messages> вместо <h:messages>, чтобы они отображались в ответе ajax.

Плохая практика, но может сработать, это использовать immediate="true" (обходить проверку) и затем выполнять проверку в методе действия.

...