ICEfaces
  1. ICEfaces
  2. ICE-3884

Partial submit change - restore "required" attributes in the pre RenderResponse phase instead of post RenderResponse.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8DR#1
    • Fix Version/s: 1.8DR#2, 1.8
    • Component/s: Framework, ICE-Components
    • Labels:
      None
    • Environment:
      Any
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration

      Description

      When partial submit is used and the "required" attributes are modified for other submitted components, the adjusted value of the attributed appears to persist too long. For reference on the failing behaviour, see ICE-2638 and ICE-2927 cases and their associated regression tests.

        Issue Links

          Activity

          Hide
          Ken Fyten added a comment -

          Suspect that these additional regression test failures are also related to this, should be confirmed with the fix:

          ICE-2367: Allow panelTabSet to change tabs without validation
          ICE-1883: Partial submit disables previous validation messages

          Show
          Ken Fyten added a comment - Suspect that these additional regression test failures are also related to this, should be confirmed with the fix: ICE-2367 : Allow panelTabSet to change tabs without validation ICE-1883 : Partial submit disables previous validation messages
          Hide
          Greg Dick added a comment -

          The old behaviour of this code was to restore the required attribute of the component during the post RenderResponse phase. This meant that if other components in the form have the partial submit flag set to true, the the "required" attribute setting of components may be artificially turned off during rendering. This attribute was being restored, but only after the post renderResponse phase listener.

          This was a problem when state saving is turned on because state saving is capturing the state after rendering is done on the component, but before the end of the renderResponse phase. Due to the nature of our DOMResponseRenderer, it has to be done after rendering, but before the document is closed.

          The solution is to restore the correct state of the attributes in the pre render response phase listener.

          There could be some changes in behaviour in rendering but the underlying functionality of the 'required' attribute should not change.

          Show
          Greg Dick added a comment - The old behaviour of this code was to restore the required attribute of the component during the post RenderResponse phase. This meant that if other components in the form have the partial submit flag set to true, the the "required" attribute setting of components may be artificially turned off during rendering. This attribute was being restored, but only after the post renderResponse phase listener. This was a problem when state saving is turned on because state saving is capturing the state after rendering is done on the component, but before the end of the renderResponse phase. Due to the nature of our DOMResponseRenderer, it has to be done after rendering, but before the document is closed. The solution is to restore the correct state of the attributes in the pre render response phase listener. There could be some changes in behaviour in rendering but the underlying functionality of the 'required' attribute should not change.

            People

            • Assignee:
              Unassigned
              Reporter:
              Deryk Sinotte
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: