0 Replies Latest reply on Oct 4, 2010 5:45 AM by vinay bn

    richMessage not working inside a4j:repeat

    vinay bn Newbie

      <a4j:repeat value="#{pageBean.dynamicColums}" var="col">
      <tr>
      <td>
      <h:jsfPanelGroup>
      <h:jsfOutputLabel value="#{col.id}" id="col1#{col.id}"/>
      <h:jsfOutputLabel value="*" id="col2MsgM#{col.id}" style="color:red" />
      </h:jsfPanelGroup>
      </td>
      <td>
      <h:jsfPanelGroup id="onblurMSG#{col.id}">
      <h:jsfInputTextArea id="MsgInput#{col.id}" value="#{col.trans}"
      styleClass="jsfInputTextAreaRedHeight">
      <a4j:support id="event#{col.id}" event="onblur" 
      actionListener="#{messageContainer.addBlur}" ajaxSingle="false"/>
                                            <f:converter converterId="StringConverterMandatory"/>
      <f:param name="Label" value="#{text[col.id]}"/>
      </h:jsfInputTextArea>
      <BR/>
      <h:richMessage id="errorMsg#{col.id}" showSummary="false" showDetail="true"
      level="ERROR" for="MsgInput#{col.id}">
                                            <f:attribute name="severity" value="ERROR" />
                                            <f:attribute name="html" value="TRUE" />
      </h:richMessage> 
      </h:jsfPanelGroup>
      </td>
      </tr>
      </a4j:repeat>
      Hi iam using a4j:repeat component to display outputLabel and inputTextArea(mandatory fields) repeatedly and on submit of the form,if there are any
      textAreaInput left out without entering value,mandatory field message should be displayed next to the component.
      Even though id attribute is explicitly specified[id="MsgInput#{col.id}"],it is taking only part of the id[MsgInput] as you can see below,
      where as the value="#{col.id}" for outputLabel is getting displayed properly.
      INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
      sourceId=ID_583:ID_606:9:MsgInput[severity=(ERROR 2), summary=(Mandatory Field!), detail=(Mandatory Field!)]
      Any help would be appreciated.
      Thanks
      vinay

      <a4j:repeat value="#{pageBean.dynamicColums}" var="col">

      <tr>

      <td>

       

      <h:jsfPanelGroup>

      <h:jsfOutputLabel value="#{col.id}" id="col1#{col.id}"/>

      <h:jsfOutputLabel value="*" id="col2MsgM#{col.id}" style="color:red" />

      </h:jsfPanelGroup>

       

      </td>

      <td>

       

      <h:jsfPanelGroup id="onblurMSG#{col.id}">

       

      <h:jsfInputTextArea id="MsgInput#{col.id}" value="#{col.trans}"

      styleClass="jsfInputTextAreaRedHeight">

       

      <a4j:support id="event#{col.id}" event="onblur" 

      actionListener="#{messageContainer.addBlur}" ajaxSingle="false"/>

              <f:converter converterId="StringConverterMandatory"/>

      <f:param name="Label" value="#{text[col.id]}"/>

      </h:jsfInputTextArea>

       

      <BR/>

      <h:richMessage id="errorMsg#{col.id}" showSummary="false" showDetail="true"

      level="ERROR" for="MsgInput#{col.id}">

              <f:attribute name="severity" value="ERROR" />

              <f:attribute name="html" value="TRUE" />

      </h:richMessage> 

      </h:jsfPanelGroup>

       

      </td>

      </tr>

      </a4j:repeat>

       

      Hi iam using a4j:repeat component to display outputLabel and inputTextArea(mandatory fields) repeatedly and on submit of the form,if there are any

      textAreaInput left out without entering value,mandatory field message should be displayed next to the component.

       

      Even though id attribute is explicitly specified[id="MsgInput#{col.id}"],it is taking only part of the id[MsgInput] as you can see below,

      where as the value="#{col.id}" for outputLabel is getting displayed properly.

       

      INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.

      sourceId=ID_583:ID_606:9:MsgInput[severity=(ERROR 2), summary=(Mandatory Field!), detail=(Mandatory Field!)]

       

      Any help would be appreciated.

       

      Thanks

      vinay