2010-03-25 19 views
1

讓我們考慮下面的,簡化的例子:富人:一個tabpanel和問題時,現場已要求=「真」

我們有2個標籤withing <rich:tabPanel switchType="ajax">,每個標籤都有<h:inputText value="" required="true" />而此刻,我們要切換從一個選項卡另外,與inputText的是空的(我們並不想反正從提交值,我們要到另一個選項卡),我們得到"Validation Error: Value is required."

的示例代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:a4j="http://richfaces.org/a4j" 
    xmlns:rich="http://richfaces.org/rich" 
> 
     <a4j:form id="mainForm" 
      reRender="mainForm" 
      ajaxSubmit="true"> 

      <rich:tabPanel switchType="ajax"> 
       <rich:tab label="TabA" > 
        <a4j:region> 
         <h:outputText value="Tab A content" /> 
         <h:inputText value="" required="true" /> 
        </a4j:region> 
       </rich:tab> 
       <rich:tab label="TabB"> 
        <a4j:region> 
         <h:outputText value="Tab B content" /> 
         <h:inputText value="" required="true" /> 
        </a4j:region> 
       </rich:tab> 
      </rich:tabPanel> 
      <rich:messages /> 
     </a4j:form> 
</html> 

回答

1

您應該添加「立即」屬性tabPanel。引述docs這意味着的TabPanel:

」 ...成分值必須不是等待直到過程 驗證被轉換和 立即驗證(即,期間 應用請求值階段),而 相」

例如:

<rich:tabPanel switchType="ajax" immediate="true"> 
+0

感謝,這是解決問題:-) – JQueryNeeded 2010-03-26 07:45:36