Uploaded image for project: 'RichFaces'
  1. RichFaces
  2. RF-258

Tab Panel prevent immediate actions calling

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 3.0.1
    • Fix Version/s: 3.2.0
    • Component/s: None
    • Labels:
      None

      Description

      <h:form>
      <rich:tabPanel switchType="ajax">
      <rich:tab label="label">
      <h:inputText value="#

      {bean.property}

      " required="true"></h:inputText>
      <h:commandButton action="#

      {capitalsBean.action}

      " value="Press" immediate="true"></h:commandButton>
      </rich:tab>
      </rich:tabPanel>
      </h:form>

      action doesn't fired if field is empty

        Gliffy Diagrams

          Activity

          Hide
          nbelaevski Nick Belaevski added a comment -

          TabPanel extends AjaxActionComponent extending UICommand.
          UICommand's queueEvent code doesn't check if the event belongs to the current component, thus re-setting PhaseId to 5th phase.
          Maybe we could add workaround to AjaxActionComponent?

          Show
          nbelaevski Nick Belaevski added a comment - TabPanel extends AjaxActionComponent extending UICommand. UICommand's queueEvent code doesn't check if the event belongs to the current component, thus re-setting PhaseId to 5th phase. Maybe we could add workaround to AjaxActionComponent?
          Hide
          amitev Adrian Mitev added a comment -

          See this link too - http://jboss.com/index.html?module=bb&op=viewtopic&t=108782 . Another problem, probably related to this issue.

          Show
          amitev Adrian Mitev added a comment - See this link too - http://jboss.com/index.html?module=bb&op=viewtopic&t=108782 . Another problem, probably related to this issue.
          Hide
          alexsmirnov Alexander Smirnov added a comment -

          Appended check of the event source component, and bypass default UICommand method for a ActionEvents.

          Show
          alexsmirnov Alexander Smirnov added a comment - Appended check of the event source component, and bypass default UICommand method for a ActionEvents.
          Hide
          ilya_shaikovsky Ilya Shaikovsky added a comment -

          should be in 3.1.1

          Show
          ilya_shaikovsky Ilya Shaikovsky added a comment - should be in 3.1.1
          Hide
          ilya_shaikovsky Ilya Shaikovsky added a comment -

          Need to check additional case from this forum thread:

          "This works in 3.1.1 except for the fact that now button with immediate="false" are also bypassing validation etc.

          So now:

          <rich:tab>
          <h:form>
          <h:inputText id="test" required="true" />
          <h:commandButton value="save" action="save"/>
          <h:commandButton immediate="true" value="cancel" action="cancel"/>
          </h:form>
          </rich:tab>

          when the user clicks on save, validation is bypassed, model is not updated...very frustrating "

          Show
          ilya_shaikovsky Ilya Shaikovsky added a comment - Need to check additional case from this forum thread: "This works in 3.1.1 except for the fact that now button with immediate="false" are also bypassing validation etc. So now: <rich:tab> <h:form> <h:inputText id="test" required="true" /> <h:commandButton value="save" action="save"/> <h:commandButton immediate="true" value="cancel" action="cancel"/> </h:form> </rich:tab> when the user clicks on save, validation is bypassed, model is not updated...very frustrating "

            People

            • Assignee:
              viktor_volkov Viktor Volkov
              Reporter:
              ilya_shaikovsky Ilya Shaikovsky
            • Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development