내가 A A 시간을 사용하여 표시되는 항목의 목록을 가지고 값PostValidate 데이터 테이블 목록
<p:dataTable value="#{myBean.instructorsList}" var="ins">
<p:column headerText="Name">
<h:inputText value="#{ins.name}"/>
</p:column>
</p:dataTable>
내 스펙은 내가 강사가 다른 insturctor 같은 이름을 가질 수 있도록 할 수 없다는 것입니다. 따라서 전체 instructorList가 제출 될 때 모든 instructorList에 액세스 할 수 있어야합니다. postValidate f : 이벤트를 사용하여 유효성 검사를 시도했지만 JSF 수명주기로 인해 postValidation 단계가 끝날 때까지 모델 값을 업데이트하지 않습니다.
내 시도
<f:event listener="#{myBean.myMethod}" type="postValidate" />
백업 코드
private List<instructors> instructorsList;
public void myMethod(ComponentSystemEvent event) {
// Attempting to use the instructorsList with new values. However, this
// is at the wrong stage
}
가 어떻게 중복 강사 이름을 확인 달성하기 위해 발리를 작성합니다?
나는이 문제를 잘 모르겠다. postValidate 이벤트 리스너를 사용하여 제출 된 이름에 액세스하는 데 문제가 있습니까? 또는 리스너 내에서 유효성 검사 상태를 설정하는 데 문제가 있습니까? – kolossus
예, postValidate 이벤트 리스너의 전송 이름에 액세스하는 데 문제가 있습니다. 값은 내 viewScoped 빈에서 아직 업데이트되지 않았습니다. – Sixthpoint
postValidate가 요청 처리에 영향을주기에 너무 늦었습니다. 현재 정확히 제출 된 가치에 액세스하려고하십니까? – kolossus