我有一个表单,用户可以从表单中动态添加和删除一组表单字段(名字、姓氏和电子邮件)。那部分工作正常,但当然我需要对这些字段进行一些验证,如果我只提交带有第一组字段的表单,它会很好,并且我会在每个字段上得到验证。添加下一组字段并提交后,我会在第一组中收到验证消息,而第二组中只有一个字段。我不太确定发生了什么,但这是.xhtml
文件的外观:
<h:form>
<ui:repeat var="i" value="#{bean.list}">
<h:panelGrid columns="5" rowClasses="newRoow">
<h:inputText id="firstName" value="#{i.first_name}"
required="true" requiredMessage="Please enter a First Name" />
<h:inputText id="lastName" value="#{i.first_name}"
required="true" requiredMessage="Please enter a LastName" />
<h:inputText id="email" value="#{i.first_name}"
required="true" requiredMessage="Please enter an Email Address"> />
<h:commandButton value="+">
<f:ajax event="click" render="@form"
listener="#{bean.addItemFromList}" />
</h:commandButton>
<h:commandButton value="-">
<f:ajax event="click" render="@form"
listener="#{bean.removeItemFromList(i)}" />
</h:commandButton>
<h:message for="firstName" errorClass="warnings" showSummary="true" />
<h:message for="lastName" errorClass="warnings" showSummary="true" />
<h:message for="email" errorClass="warnings" showSummary="true" />
</h:panelGrid>
</ui:repeat>
<h:commandButton value="Submit"
actionListener="#{bean.someFunction}"
action="nextPage" />
</h:form>
关于为什么这会失败的任何想法?
正如您在此处看到的那样,使用第一个字段设置效果很好:http: //i.imgur.com/uMrrO.png验证位于每个字段下方。
对于第二个和以下字段集,它看起来像这样:http: //i.imgur.com/FeZ3T.png或有点不同,因为它似乎每次按下添加按钮时都会验证一个字段。