What I meant is <f:validateBean disabled="#{yourElExpression} I e.g. use this when I need open a search dialogue in a new window. Most people use immediate="true" for that but that has the nasty side effect that you loose all the entered value in the other fields of your dialogue. A conditional validateBean works great for that.
LieGrue, strub >________________________________ > From: "it-media.k...@daimler.com" <it-media.k...@daimler.com> >To: dev@myfaces.apache.org >Sent: Friday, December 7, 2012 8:15 AM >Subject: Re: AW: Re: Re: Regression between myfaces-extval-core and >primefaces: System-Event-Listeners are called too late. > > > >Hello, > >thanks for your reply. I do not want to disable validation completely, just prevent client side behavior (if thats possible). > >Heiko > > > > >strub...@yahoo.de >07.12.2012 08:10 >Bitte antworten an >dev@myfaces.apache.org > An dev@myfaces.apache.org >Kopie >Thema AW: Re: Re: Regression between myfaces-extval-core and primefaces: System-Event-Listeners are called too late. > > > > > >maybe try disabling the block with <f:validateBean>? > > >------------------------------ >it-media.k...@daimler.com schrieb am Do., 6. Dez 2012 21:53 PST: > >>Hello Gerhard, >> >>I will do so. I tried a very simple example just yet, but this does not >>show the issue. I've a feeling that I need to add at last some bean >>validation annotations to a used bean in the view to trigger the extval >>proxy to do its work. My assumtion is that extval tries to parse the page >>to include maybe client side validation parts and does so before any >>system event handlers have been initialized. >> >>I'll head back to you with a link for an example. >> >>Just because I'm curious, is there a configuration option to temporarily >>disable any client side validation? >> >>Best regards, >> >>Heiko >> >> >> >> >>gerhard.petra...@gmail.com >>06.12.2012 10:47 >>Bitte antworten an >>dev@myfaces.apache.org >> >> >>An >>dev@myfaces.apache.org >>Kopie >> >>Thema >>Re: Regression between myfaces-extval-core and primefaces: >>System-Event-Listeners are called too late. >> >> >> >> >> >> >>hi heiko, >> >>it would be great if you can provide a link to a small example which >>illustrates the issue. >> >>regards, >>gerhard >> >>http://www.irian.at >> >>Your JSF/JavaEE powerhouse - >>JavaEE Consulting, Development and >>Courses in English and German >> >>Professional Support for Apache MyFaces >> >> >> >>2012/12/6 <it-media.k...@daimler.com> >> >>Hello, >> >>We have come across an issue that occurs in the combination of >>myfaces-extval and primefaces. >> >>We use the following configuration: >> >>myfaces-extcdi-bundle-jsf20 (1.0.6) >>myfaces-extval-core (2.0.6) >>myfaces-extval-bean-validation (2.0.6) >>myfaces-extval-property-validation (2.0.6) >>primefaces-3.5 (revision 8433) >> >>The new primefaces uses a JSF System-Event-Listener to register a widget >>builder in the context. >> >><system-event-listener> >> <source-class>javax.faces.component.UIViewRoot</source-class> >> >><system-event-class>javax.faces.event.PreRenderViewEvent</system-event-class> >> >><system-event-listener-class>org.primefaces.webapp.PreRenderViewListener</system-event-listener-class> >></system-event-listener> >> >>with the following content: >> >>public class PreRenderViewListener implements SystemEventListener { >> public boolean isListenerForSource(Object source) { >> return true; >> } >> >> public void processEvent(SystemEvent event) throws >>AbortProcessingException { >> >>FacesContext.getCurrentInstance().getAttributes().put(Constants.WIDGET_BUILDER_ATTR, >> >>new WidgetBuilder()); >> } >>} >> >>However, this system event listener seems to be called too late, as the >>ExtValLazyRendererProxy tries to encode components first. This leads to an >>exception at application start: >> >>java.lang.NullPointerException >>at >>org.primefaces.component.dialog.DialogRenderer.encodeScript(DialogRenderer.java:51) >>at >>org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:43) >>at >>org.apache.myfaces.extensions.validator.core.renderkit.ExtValLazyRendererProxy.encodeEnd(ExtValLazyRendererProxy.java:76) >>at >>org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererWrapper.encodeEnd(ExtValRendererWrapper.java:358) >>at >>javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:535) >>at javax.faces.component.UIComponent.encodeAll(UIComponent.java:626) >>at javax.faces.component.UIComponent.encodeAll(UIComponent.java:622) >>at javax.faces.component.UIComponent.encodeAll(UIComponent.java:622) >>at >>org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1320) >>at >>org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:263) >>at >>javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59) >>at >>javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59) >>at >>org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85) >> >> >>Primefaces rejected this an an error in their code. Is there a way that >>within myfaces-extval-core, it can be made sure that system event >>listeners are called before the lazy renderer starts its work? >> >>Thank you very much for your help, >> >>Best regards, >> >>Heiko >> >>If you are not the intended addressee, please inform us immediately that >>you have received this e-mail in error, and delete it. We thank you for >>your cooperation. >> >> >> >>If you are not the intended addressee, please inform us immediately that you have received this e-mail in error, and delete it. We thank you for your cooperation. dis > > >If you are not the intended addressee, please inform us immediately that you >have received this e-mail in error, and delete it. We thank you for your >cooperation. > > >