Tapestry 5
  1. Tapestry 5
  2. TAP5-1896

AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Won't Fix
    • Affects Version/s: 5.3, 5.2
    • Fix Version/s: None
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      To see the effect use an AjaxFormLoop with input field(s) and at least 3 rows built from existing data. It must be in a Form.

      Remove row n.
      Submit, ensuring in some way that you get a server-side validation error.

      The redisplayed loop will have all the right output values, but the input values will be corrupted:

      • the removed row will be missing (good),
      • row n+1 will be correct (good),
      • every row below that will have input values that belong to the row before it (bad).

      If you try the process again but this time remove 2 adjacent rows you'll get:

      • the removed rows (n-1 and n) will be missing (good),
      • row n+1 will be correct (good),
      • row n+2 will be correct (good),
      • every row below that will have input values that belong 2 rows before it (bad).

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              Geoff Callender
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development