2011-05-05 45 views
0

鄉親AjaxValidator工作,不豐富面臨着selectOneMenu用於

這是一個JSF的問題,專門爲富有面臨3.3.3.Final

我試圖讓富人面臨的Ajax驗證(富: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)的事件。

是否有人設法使用selectOneMenu字段獲得Rich Faces AJAX驗證,並且它是如何工作的?哦,Rich Folces的版本是什麼?

謝謝。

回答

0

下面是使用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"/> 
0

衛生署!

下不工作:

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

我顯然不是在檢驗出上述選項夠勤快。

對不起。