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

Field-specific error not shown when AJAX used

    XMLWordPrintableJSON

Details

    Description

      Found this bug in 5.4-beta-22. I've confirmed that the bug was not present in 5.4-beta-6.

      When an error is recorded with Form.recordError(Field field, String errorMessage) or ValidationTracker.recordError(Field field, String errorMessage) it normally is shown in the UI by decorating the field in error and displaying the errorMessage below it.

      In 5.4-beta-6 and every release ever before that, that was the behaviour regardless of whether the request is non-AJAX or AJAX.

      In 5.4-beta-22, the behaviour changes when the request is AJAX: the field does not display an error. That is, the field is not decorated and the errorMessage is not shown with it. If your Errors component has globalOnly="true", which is the norm these days, then you won't even see the error message there! If you set globalOnly="false" then the message is shown, but who would want to set globalOnly="false"???

      Comparing the HTTP responses of beta-22 with beta-6, I see that beta-6 had an extra entry in the inits, like this:

      ["t5/core/fields:showValidationError", "firstName_8cf3108fe0ece9", "First Name must not be Acme."]

      Attachments

        Issue Links

          Activity

            People

              hlship Howard Lewis Ship
              geoffcallender Geoff Callender
              Votes:
              4 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated: