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

        Liana Munroe created issue -
        Ken Fyten made changes -
        Field Original Value New Value
        Assignee Mircea Toma [ mircea.toma ]
        Fix Version/s 4.2 [ 12870 ]
        Assignee Priority P2 [ 10011 ]
        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.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #49566 Mon Nov 21 14:59:22 MST 2016 mircea.toma ICE-11182 Fire synthetic event on the hidden select element to trigger the validation for the ace:checkboxbuttons component.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/checkboxbutton/checkboxbutton.js
        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
        Liana Munroe made changes -
        Attachment 1.PNG [ 22378 ]
        Mircea Toma made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        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.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #49567 Mon Nov 21 17:26:05 MST 2016 mircea.toma ICE-11182 Re-add cleanup function even if previously defined since sometimes the validated element is updated/replaced.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/clientvalidator/clientvalidator.js
        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.
        Liana Munroe made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        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.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #49575 Wed Nov 23 13:33:38 MST 2016 mircea.toma ICE-11182 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.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/checkboxbutton/checkboxbutton.js
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/core/core.js
        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.
        Ken Fyten made changes -
        Fix Version/s 4.2.BETA [ 13091 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: