2011-03-24 7 views
0

내 richfaces : 데이터 테이블 구성 요소가 비어 있는지 확인하고 싶습니다. 다른 말로하면 <rich:dataTable value="#{bean.list}" ...>이고 목록에 요소가 하나 이상 있어야합니다. 이러한 유형의 유효성 검사를위한 좋은 해결책이 있습니까?richfaces 유효성 검사 : 데이터 없음에 대한 dataTable

감사합니다, 가

답변

1

당신은 이것에 대한 유효성 검사기를 사용할 수 없습니다. 제출 된 요청 매개 변수에만 해당됩니다. 목록이 비어있을 때 일부 메시지를 표시하는 것이 유일한 목적이면 rendered 특성을 사용하십시오.

<rich:dataTable value="#{bean.list}" rendered="#{not empty bean.list}"> 
    ... 
</rich:dataTable> 
<h:outputText value="List is empty!" rendered="#{empty bean.list}" /> 

업데이트 : 테이블 폼의 일부가 될 것으로 보인다. 당신이 할 수있는 최선은 FacesMessage을 빈의 액션 메소드에 직접 추가하는 것입니다.

<h:messages globalOnly="true" /> 

public String submit() { 
    if (list.isEmpty()) { 
     FacesContext.getCurrentInstance().addMessage(null, 
      new FacesMessage("Please add at least one item")); 
     return null; 
    } 

    // ... 
} 

null 클라이언트 ID 만 메시지를 나타낸다.

+0

불행히도 추가 양식 처리를 차단해야하므로 메시지가 문제를 해결하지 못합니다. ( – androdevo

+0

아, 테이블이 양식의 일부입니까? 업데이트 된 답변보기 – BalusC

+0

괜찮 으면 좋겠지 만 코드를 구현해야합니다. 모든 목록 .jsf 페이지에 크기 유효성 검사를 추가하려면 어떻게해야합니까? 내 페이지 흐름에 많은 데이터 테이블이 있고 그 중 일부 요소에 적어도 하나의 요소가 필요합니다. 우리가 원할 때마다 제출하는 유일한 솔루션입니다. 이 요구 사항을 변경하려면? – androdevo

관련 문제