ICEfaces
  1. ICEfaces
  2. ICE-11182

Client Validators on certain components are not eagerly validated

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.2
    • Fix Version/s: 4.2.BETA, 4.2
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Tomcat 7/8, ICEfaces 4 trunk r49551, all browsers
    • Assignee Priority:
      P2

      Description

      The following components do not follow the eager validation rule when using client validators:
      ace:checkboxButtons
      ace:textEntry with secret="true"
      The rule states:
      "Once a component is marked invalid by a previous validation failure, it is eagerly validated: As soon as the user has entered the necessary value, the error message is removed, without requiring a form submit."

      This behaviour can be seen in these showcase clientValidator demos: ace:clientValidateRequired > Overview (checkboxButtons)
      ace:clientValidateLength > minimum (checkboxButtons and textEntry secret=true)




        Activity

        Hide
        Mircea Toma added a comment -

        I cannot see the described issue on ace:textEntry with secret="true". In the showcase demo the once you enter a character the message changes to "Password length must be 5 or more." and when 5 characters are introduced the message goes away as explected.

        Show
        Mircea Toma added a comment - I cannot see the described issue on ace:textEntry with secret="true". In the showcase demo the once you enter a character the message changes to "Password length must be 5 or more." and when 5 characters are introduced the message goes away as explected.
        Hide
        Mircea Toma added a comment - - edited

        As for ace:checkboxButtons component the applied fix fires a synthetic event on the hidden select element to trigger the validation. The select element is modified programatically by the component code and hence the missing 'click' or 'change' events normally triggered by the browser.

        Show
        Mircea Toma added a comment - - edited As for ace:checkboxButtons component the applied fix fires a synthetic event on the hidden select element to trigger the validation. The select element is modified programatically by the component code and hence the missing 'click' or 'change' events normally triggered by the browser.
        Hide
        Liana Munroe added a comment -

        In order to make the ace:textEntry secret=true issue appear you have to select one checkbox item and press submit. Validation messages appear for both components. At that point you can type 5 or more characters into the textEntry to see the required styling removed, but the message remains. Please see attached screen-shot 1.png

        Show
        Liana Munroe added a comment - In order to make the ace:textEntry secret=true issue appear you have to select one checkbox item and press submit. Validation messages appear for both components. At that point you can type 5 or more characters into the textEntry to see the required styling removed, but the message remains. Please see attached screen-shot 1.png
        Hide
        Mircea Toma added a comment -

        Re-add cleanup function in clientValidationMessagesFor function even if previously defined since sometimes the validated element is updated/replaced.

        Show
        Mircea Toma added a comment - Re-add cleanup function in clientValidationMessagesFor function even if previously defined since sometimes the validated element is updated/replaced.
        Hide
        Liana Munroe added a comment - - edited

        Tested with ICEfaces 4 trunk r49569, Tomcat 8.
        The changes checked in for checkboxButtons at r49566 have caused a regression in checkboxButtons functionality when used in IE 11, 10, 9, 8. The checkboxButtons can no longer be selected or deselected. A browser console error is seen:

        SCRIPT445: Object doesn't support this action
        File: eval code (27), Line: 106, Column: 9
        

        The clientValidator issues do appear resolved in the other browsers tested, MS Edge, FF 47, Chrome 53.

        Show
        Liana Munroe added a comment - - edited Tested with ICEfaces 4 trunk r49569, Tomcat 8. The changes checked in for checkboxButtons at r49566 have caused a regression in checkboxButtons functionality when used in IE 11, 10, 9, 8. The checkboxButtons can no longer be selected or deselected. A browser console error is seen: SCRIPT445: Object doesn't support this action File: eval code (27), Line: 106, Column: 9 The clientValidator issues do appear resolved in the other browsers tested, MS Edge, FF 47, Chrome 53.
        Hide
        Mircea Toma added a comment -

        Use Event constructor to create synthetic events (instead of UIEvent) and document.createEvent/initEvent functions for IE8,9 and 10. Fix ice.ace.evalInit function to properly work in IE.

        Show
        Mircea Toma added a comment - Use Event constructor to create synthetic events (instead of UIEvent) and document.createEvent/initEvent functions for IE8,9 and 10. Fix ice.ace.evalInit function to properly work in IE.
        Hide
        Liana Munroe added a comment - - edited

        Verified ICEfaces4 trunk r49573, Tomcat 8 FF 47, Chrome 53, MS EDGE, IE 11, 10, 9, 8.

        Show
        Liana Munroe added a comment - - edited Verified ICEfaces4 trunk r49573, Tomcat 8 FF 47, Chrome 53, MS EDGE, IE 11, 10, 9, 8.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Liana Munroe
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: