Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-1808

Change Form to (by default) immediately render markup when there are validation errors, to avoid creating the session

    XMLWordPrintableJSON

Details

    Description

      Historically, Tapestry has needed to keep an instance of ValidationTracker in the session between a form submit and a page re-render, to track user input and input errors; this often means that it is necessary to create the HttpSession just to store this transient value. Tapestry 5.2 went through some contusions to avoid creating the persistent ValidationTracker instance until there were actual errors, to avoid creating the session.

      A better approach is to treat successful and failed form submits differently, at least by default. For failed form submits, where the default is to re-render the active page, the Form component could instead immediately re-render the page. The ValidationTracker instance would not ever have to be persistent at that point.

      In this way, failed form submissions would be treated somewhat like requests with unhandled exceptions: markup is streamed to the client web browser even during a component event request.

      Attachments

        Issue Links

          Activity

            People

              hlship Howard Lewis Ship
              hlship Howard Lewis Ship
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: