최근에 내 애플리케이션을 JSF 2.1.7 및 PrimeFaces 3.4.2로 업데이트했습니다. 아래 대화 상자에서 새 그룹을 추가 할 때 새 그룹을 저장하기 전에 "이름 크기는 1 - 40 사이 여야합니다" 유효성 검사 오류가 발생합니다. 그것은 피커의 추가 버튼을 클릭하면 발생합니다. 유효성 검사가 실패했기 때문에이 메시지가 표시됨을 이해합니다. p : commandButton에 immediate=true
을 추가하면 유효성 검사 오류가 표시되지 않습니다. 유효성 검사를 실행 한 원인을 알 수 없습니다.JSF/PrimeFaces 대화 상자에서 Javabean 유효성 검사 오류가 발생했습니다.
<h:form id="formg" prependId="false">
<!-- messages -->
<p:growl id="msgsg" showDetail="true" />
<!-- data table -->
<ui:include src="/WEB-INF/flows/groupsTable.xhtml" />
<p:separator />
<!-- bottom tool bar -->
<ui:include src="/WEB-INF/flows/groupsToolBar.xhtml" />
<!-- preview, edit dialog -->
<ui:include src="/WEB-INF/flows/groupsDialog.xhtml" />
</h:form>
<p:dialog id="dialogg" header="#{groupsBean.dialogTitle}"
widgetVar="groupsDialog" dynamic="true" resizable="false" width="800"
height="600" showEffect="fade" hideEffect="fade" modal="true">
<p:ajax event="close" listener="#{groupsBean.refresh}"
immediate="true" update=":formg" global="false" process="@this" />
<p:tabView id="tabPicker">
<p:tab title="General">
<h:panelGrid id="displayg" columns="2">
<h:outputText value="#Group name*:" />
<p:inputText value="#{groupsBean.selectedGroup.name}" size="40"
readonly="#{!groupsBean.updatable}" maxlength="40" />
</h:panelGrid>
</p:tab>
<p:tab title="Members">
<ui:include src="/WEB-INF/custom/picker.xhtml">
... some params passed to picker
</ui:include>
</p:tab>
</p:tabView>
</p:dialog>
피커 <p:password>
유사하며, 두 개의 페이지로 구성된다 : 데이터 테이블 구성 요소 및 이들 간의 4 개 버튼. 단추는 h : panelGrid와 함께 그룹화됩니다. 버튼 속성도 비슷합니다.
<p:outputPanel autoUpdate="true">
<p:commandButton actionListener="#{eval.evaluateAsMethod(pickerAdd)}"
update="source, target, #{messages}" immediate="true"
disabled="#{pickerSourceDisabled}"
icon="ui-icon ui-icon-arrowthick-1-s" />
</p:outputPanel>
소스, 두 datatables의 식별자이다 대상 : 여기 버튼 샘플 코드이다. pickerAdd은 값이 groupsBean.picker.add
인 param으로 전달됩니다. 테이블에는 FooDomain 오브젝트가 들어 있습니다.
public class FooDomain implements Serializable {
...
@NotNull
@Size(min = 1, max = 40)
@Column(name = "NAME")
private String name;
...
}
엄청난 양의 사용자가 있습니다. – Seitaridis
당신은 환영합니다 :) – BalusC