Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-3249

[2.1 Spec Review] Pre/PostValidateEvent publishing conditions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.8, 2.1.2
    • JSR-314
    • None

    Description

      This issue was open long time ago as:

      http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-537

      but on the way we forgot it. There is no changes on the spec, but section 3.2.7.3 says this:

      "... The PreValidateEvent is published immediately before the component gets validated. PostValidate is published after validation has occurred, regardless if the validation was successful or not. If the validation for the component did pass successfully, and the previous value of this component differs from the current value, the ValueChangeEvent is published. ..."

      The problem we had was the code implemented did not match the spec, but finally it was corrected. Here is the mail notifying the change:

      [jsr-314-open] [537-PrePostValidate] RESOLVED (was: Re: [2.1 Spec Review] Pre/PostValidateEvent publishing conditions)

      DG> The only reason I can think of is that UIData is also (potentially,
      DG> anyway) a container of inputs. But so are panels, and they,
      DG> evidently, are excluded. Why?

      EB> No, it does not mean that only those components will deliver those
      EB> events. It means that in the case of components who are iterating
      EB> components, the event must be published before, or after, the child
      EB> component processing. This is true for any components that have
      EB> children. I will revise the documentation to be as follows.
      EB>
      EB> PostValidateEvent
      EB>
      EB> Components with children must publish this event after processing their
      EB> child nodes in processValidators. This is especially important for
      EB> iterating components such as UIData and form components, such as UIForm.
      EB>
      EB> PreValidateEvent
      EB>
      EB> Components with children must publish this before after processing their
      EB> child nodes in processValidators. This is especially important for
      EB> iterating components such as UIData and form components, such as UIForm.

      Anyway we have to notify the EG about the javadoc does not include this detail and fix it into our codebase.

      Attachments

        Activity

          People

            lu4242 Leonardo Uribe
            lu4242 Leonardo Uribe
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: