2011-05-05 100 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> 

我显然不是在检验出上述选项够勤快。

对不起。