Работает ли Rich Faces AjaxValidator с selectOneMenu - PullRequest
0 голосов
/ 05 мая 2011

Народ,

Это вопрос JSF, специально для Rich Faces 3.3.3. Финал

Я пытаюсь заставить работать Ajax Validator Rich Faces (rich: ajaxValidator) для работы сстандартное выпадающее меню JSF (h: selectOneMenu), но у меня ничего не получается.

По сути, я хочу, чтобы проверка AJAX происходила, когда раскрывающийся список теряет фокус или выбран элемент в раскрывающемся списке.Ниже приведен код последней вещи, которую я пробовал:

<h:selectOneMenu id="sector" value="#{thing.sector}">  
  <f:selectItems value="#{selectItemMap['sectors']}"  
                 var="sector"  
                 itemLabel="#{msg[sector.itemLabel]}"  
                 itemValue="#{sector.itemValue}" />  
    <rich:ajaxValidator event="onblur"/>  
</h:selectOneMenu>  

Но я также пробовал:

<rich:ajaxValidator event="oninputblur"/>  

и

<rich:ajaxValidator event="onchange"/>  

и

<rich:ajaxValidator event="onchanged"/>  

и

     <rich:ajaxValidator event="onblur"/>  
<rich:ajaxValidator event="onchanged"/>

и

<rich:ajaxValidator event="onblur"/>  
<rich:ajaxValidator event="onchange"/>  

и

<rich:ajaxValidator event="oninputblur"/>  
<rich:ajaxValidator event="onchange"/>  

и

<rich:ajaxValidator event="oninputblur"/>  
<rich:ajaxValidator event="onchanged"/> 

Однако ни один из этихРабота.Под этим я подразумеваю, что ничего не происходит, хотя я вижу, как события обрабатываются в консоли журнала для других полей, таких как h: inputText, стандартный ввод HTML и rich: calendar.

Кому-нибудь удалось получить валидацию Rich Faces AJAX, работающую для поля selectOneMenu, и как вам это удалось?Да и для какой версии Rich Faces?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

Doh!

Работает следующее:

<h:selectOneMenu id="subSector" value="#{registerContracts.currentContract.subSector}">
  <f:selectItems value="#{selectItemMap['RctSectorTypes']}" var="subSector" itemLabel="#{msg[subSector.itemLabel]}" itemValue="#{subSector.itemValue}" />
  <rich:ajaxValidator event="onblur"/>
  <rich:ajaxValidator event="onchange"/>
</h:selectOneMenu>

Я, очевидно, недостаточно усердно тестировал вышеупомянутые варианты.

Извините за это.

0 голосов
/ 05 мая 2011

Вот пример из моего старого приложения с использованием Richfaces 3.3:

<h:selectOneMenu
    id="users"
    value="#{userBean.user}"
    required="true"
    requiredMessage="Selected user is required."
    converter="selectItemConverter">
    <rich:ajaxValidator ajaxSingle="true" event="onchange" />
    <f:validator validatorId="isValidValidator" />
    <t:selectItems 
        value="#{userBean.users}"
        var="user" 
        itemLabel="#{user.name}"
        itemValue="#{user}" />
</h:selectOneMenu>
<rich:message for="users" errorClass="error"/>
...