Uploaded image for project: 'Magnolia UI'
  1. Magnolia UI
  2. MGNLUI-3793

Explore notification of validation errors in composite fields

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • 5.4.6
    • 5.4.4
    • dialogs
    • Basel 39
    • 5

      Description

      When validation of a field placed inside a composite field fails notifications are not working correctly.

      Use-case 1 - field with validator configured under composite field:

      • when validation fails dialog is not saved and displays the generic error on top but user is not notified at concrete field with the specific error message.

      Use-case 2 - required field without validator configured under composite field:

      • correct message is displayed ("This field is required.") but is tied to the composite field, not the concrete inner field.

      Use-case 3 - required field with validator configured under composite field:

      • if the field was blank before and validation failed, error message for required field missing ("This field is required.") is displayed. Same as in use-case 2 it's tied to whole composite field.
      • if the field was not blank the same behavior as in use-case 1 will occur.

      Correct behavior - error messages should be displayed under concrete fields and not be covered by required files missing message.

      Use-case 4 - making changes on the select field (which is part of composite field) caused the below exception
      See more in video: https://jira.magnolia-cms.com/secure/attachment/32694/SelectFieldValidation.webm

      2016-03-17 10:59:08,524 ERROR .magnolia.ui.admincentral.AdmincentralErrorHandler: AdmincentralUI has encountered an unhandled exception.
      com.vaadin.data.Validator$InvalidValueException: Country is required
      at com.vaadin.data.validator.AbstractValidator.validate(AbstractValidator.java:103)
      at com.vaadin.ui.AbstractField.validate(AbstractField.java:969)
      at com.vaadin.ui.AbstractField.setValue(AbstractField.java:499)
      at com.vaadin.ui.AbstractSelect.setValue(AbstractSelect.java:709)
      at com.vaadin.ui.ComboBox.changeVariables(ComboBox.java:674)
      at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:486)
      at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:305)
      at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:184)
      at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:92)
      at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
      at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1408)
      at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:350)
      at info.magnolia.ui.admincentral.AdmincentralVaadinServlet.service(AdmincentralVaadinServlet.java:131)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
      at info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:148)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)

      Included file contains simple composite field configuration.

        Acceptance criteria

          1. config.modules.contacts.apps.contacts.subApps.detail.editor.form.tabs.personal.fields.rewardUrl.xml
            13 kB
          2. case1.png
            case1.png
            30 kB
          3. case2.png
            case2.png
            29 kB
          4. case3a.png
            case3a.png
            28 kB
          5. case3b.png
            case3b.png
            29 kB
          6. case4.png
            case4.png
            41 kB
          7. case5.log
            10 kB
          8. case1-supp.png
            case1-supp.png
            33 kB

              ilgun Ilgun Ilgun
              ochytil Ondrej Chytil
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0d
                    0d
                    Logged:
                    Time Spent - 1.5d
                    1.5d