Aaahhh... Ok... Thx... :)
BTJ
On Thu, 19 Oct 2006 15:57:31 -0400
Jeff Bischoff <[EMAIL PROTECTED]> wrote:
> Bjorn,
>
> That may have been because you were setting the values in the
> valueChangeListener of an "immediate" component, and then the values of
> the other components were overwritten in the "Update Model Values"
> phase. Your immediate action listener is running in between the "Apply
> Request Values" phase and the "Process Validations" phase.
>
> Perhaps I should have explained my little skipValidation() method a bit
> better. It doesn't just skip the "Process Validations" phase, it skips
> right to "Render Response" phase. So you also skip the "Update Model
> Values" and "Invoke Application" phases. This means that the changes you
> make in your valueChangeListener to the other model values will "stick,"
> because the "Update Model Values" phase will never be called to
> overwrite those changes.
>
> So if you make careful use of these JSF Utility functions, you can
> achieve all sorts of desired behaviours. I admit, you are sort of
> "working-around" the framework... perhaps a future version of JSF will
> introduce a more flexible model for validations. :)
>
> Regards,
>
> Jeff Bischoff
> Kenneth L Kurz & Associates, Inc.
>
> Bjørn T Johansen wrote:
> > It may be that I am misunderstanding but I remember I had problem setting
> > values in my valueChangeListener method a while ago
> > because those values were overwritten after the valueChangeListener had
> > been invoked...
> >
> > BTJ
> >
> > On Thu, 19 Oct 2006 15:13:00 -0400
> > Jeff Bischoff <[EMAIL PROTECTED]> wrote:
> >
> >> Sure it will.
> >>
> >> In your valueChangeListener:
> >> 1) Update your model as needed (i.e. explicitly call any setters for
> >> properties you need to change the value of).
> >>
> >> 2) Call refresh() from the wiki to update input components with the new
> >> values. Do this only if needed, as it will replace anything the user has
> >> entered with the model values. It's mainly useful on events that load
> >> new data.
> >>
> >> 3) Call skipValidation() to bypass the validations, including "required"
> >>
> >>
> >> What is it that you are trying to do where this pattern isn't sufficient?
> >>
> >> Bjørn T Johansen wrote:
> >>> Well, I need to update my form with new data as a result of that value
> >>> change, so as far as I can tell, using this
> >>> skipValidation metehod won't help me?
> >>>
> >>>
> >>> BTJ
> >>>
> >>> On Thu, 19 Oct 2006 09:31:17 -0400
> >>> Jeff Bischoff <[EMAIL PROTECTED]> wrote:
> >>>
> >>>> Bjorn,
> >>>>
> >>>> Put a method like this in some utility class in your web tier java code:
> >>>>
> >>>> public static void skipValidation() {
> >>>> FacesContext context = FacesContext.getCurrentInstance();
> >>>> context.renderResponse();
> >>>> }
> >>>>
> >>>> Then you can call skipValidation() in your valueChangeListener method.
> >>>>
> >>>> You may notice that input components are not updated with model values
> >>>> that may have changed as a result of your immediate methods. If you,
> >>>> this article [1] may be of use to you as well.
> >>>>
> >>>> [1] http://wiki.apache.org/myfaces/ClearInputComponents
> >>>>
> >>>> Regards,
> >>>>
> >>>> Jeff Bischoff
> >>>> Kenneth L Kurz & Associates, Inc.
> >>>>
> >>>> Bjørn T Johansen wrote:
> >>>>> I have some edit boxes that has the attribute required set to true but
> >>>>> I also have a selectOneMenu which does
> >>>>> a submit when value changes... What is the best way to skip the
> >>>>> required test when submitting using the
> >>>>> selectOneMenu onChange event?
> >>>>>
> >>>>>
> >>>>> Regards,
> >>>>>
> >>>>> BTJ
> >>>>>
> >>>
> >>>
> >>
> >
> >
> >
>
>