JSF:验证错误 - 值无效

时间:2015-10-02 08:26:10

标签: jsf selectonemenu validationerror

我目前正在尝试使用h:selectOneMenu从中获取输入 用户。当用户提交表单时,用户要么相同 页面再次或不同的页面。只要用户总是选择第一个可用选项,一切都很好,但只要他选择另一个选项,id = selection1的组件就会抱怨:验证错误 - 值无效。

以下是表格:

 <h:form styleClass="form-horizontal">
                    <div class="form-group">
                        <div class="col-sm-offset-2 col-sm-8">
                            <div class="checkbox">
                                <label><h:selectBooleanCheckbox value="#{startBean.abstainFromItem}"></h:selectBooleanCheckbox>Bei dieser Frage enthalten</label>
                            </div>
                        </div>
                    </div>
                    <div class="form-group">
                        <ui:fragment rendered="#{startBean.currentItem.type != 'M_OF_N'}">
                            <h:outputLabel for="selection1" styleClass="col-sm-2" value="Option(en) auswählen:"/>
                            <div class="col-sm-8">
                                <h:selectOneMenu value="#{startBean.buffer[0]}" styleClass="form-control" id="selection1">
                                    <f:converter converterId="javax.faces.Integer"/>
                                    <ui:param name="iValue" value="0"/>
                                    <c:forEach items="#{startBean.currentItem.options}" var="option1">
                                        <f:selectItem itemLabel="#{option1.title}" itemValue="#{iValue}"/>
                                        <ui:param name="iValue" value="#{iValue + 1}"/>
                                    </c:forEach>
                                </h:selectOneMenu>
                                <h:message for="selection1"/>
                            </div>
                        </ui:fragment>
                        <ui:fragment rendered="#{startBean.currentItem.type == 'M_OF_N'}">
                            <h:outputLabel for="selection2" styleClass="col-sm-2" value="Option(en) auswählen:"/>
                            <div class="col-sm-8">
                                <h:selectManyMenu styleClass="form-control" id="selection2" value="#{startBean.buffer}">
                                    <f:converter converterId="javax.faces.Integer"/>
                                    <ui:param name="lValue" value="0"/>
                                    <c:forEach items="#{startBean.currentItem.options}" var="option2">
                                        <f:selectItem itemLabel="#{option2.title}" itemValue="#{lValue}"/>
                                        <ui:param name="lValue" value="#{lValue + 1}"/>
                                    </c:forEach>
                                </h:selectManyMenu>
                            </div>
                        </ui:fragment>
                    </div>
                    <ui:debug/>
                    <ui:fragment rendered="#{startBean.index lt startBean.count}">
                        <div class="form-group">
                            <div class="col-sm-offset-2 col-sm-8">
                                <h:commandButton styleClass="btn btn-primary" value="Nächstes Item" action="submitvote">
                                    <f:actionListener binding="#{startBean.nextItem()}"/>
                                </h:commandButton>
                            </div>
                        </div>
                    </ui:fragment>
                    <ui:fragment rendered="#{startBean.index == startBean.count}">
                        <div class="form-group">
                            <div class="col-sm-offset-2 col-sm-8">
                                <h:commandButton styleClass="btn btn-primary" value="Stimmzettel abgeben" action="index">
                                    <f:actionListener binding="#{startBean.submit()}"/>
                                </h:commandButton>
                            </div>
                        </div>
                    </ui:fragment>
                </h:form>

类似问题有各种答案,但它们都有用 f:selectItems标签,而我没有。我也不认为我需要实现一个等于方法。

0 个答案:

没有答案