Hi

Checking the spec section 3.2.7.3, it says this:

*"...EditableValueHolder is a source of ValueChangeEvent, PreValidateEvent
and PostValidate events. These are emitted during calls to validate(), which
happens during the Process Validations phase of the request processing
lifecycle. 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...."*

If the text is taken literally, we should call them inside validate() method
(myfaces is doing this right now), but the common sense says we should
publish this events from outside ( UIInput.processDecodes() and
UIInput.processValidators() ) because if we override validate() method, the
event publishing just get lost.

The javadoc should mention on UIInput.processDecodes(),
UIInput.processValidators() or UIInput.validate() that those listeners
should be called from there.

regards

Leonardo Uribe

Reply via email to