Second request. Stopping me from implementing a new feature in production. 

I basically have a list of checkboxes on a form that throws an error
if none of them are selected. I need to be able to not have to select
any checkboxes. Any ideas?

-Steve

On 8/14/05, steve rock <[EMAIL PROTECTED]> wrote:
> Here's my component.
> 
>  <h:selectManyCheckbox id="stationFeatures" layout="pageDirection"
> value="#{userTool.newUserFeatures}"  >
>       <f:selectItems value="#{userTool.featureSelectItems}"/>
> </h:selectManyCheckbox>
> 
> It presents a list of radio stations a user can select. However as
> part of the business requirements they can have none selected. When I
> select none and submit the form, I get a NullPointerException. How
> come?
> 
> 
> Here is the stack trace:
> 
> java.lang.NullPointerException
>         at 
> org.apache.myfaces.renderkit._SharedRendererUtils.getConvertedUISelectManyValue(_SharedRendererUtils.java:118)
>         at 
> org.apache.myfaces.renderkit.RendererUtils.getConvertedUISelectManyValue(RendererUtils.java:792)
>         at 
> org.apache.myfaces.renderkit.html.HtmlCheckboxRendererBase.getConvertedValue(HtmlCheckboxRendererBase.java:260)
>         at 
> javax.faces.component.UISelectMany.getConvertedValue(UISelectMany.java:295)
>         at javax.faces.component.UIInput.validate(UIInput.java:291)
>         at javax.faces.component.UISelectMany.validate(UISelectMany.java:284)
>         at javax.faces.component.UIInput.processValidators(UIInput.java:166)
>         at 
> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:427)
>         at 
> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:427)
>         at 
> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:427)
>         at javax.faces.component.UIForm.processValidators(UIForm.java:66)
>         at 
> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:427)
>         at 
> javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:162)
>         at 
> org.apache.myfaces.lifecycle.LifecycleImpl.processValidations(LifecycleImpl.java:208)
>         at 
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:92)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
>         at 
> org.apache.myfaces.webapp.MyFacesServlet.service(MyFacesServlet.java:70)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>         at 
> com.m2g.stationtools.web.filters.StationToolsRequestContextFilter.doFilter(StationToolsRequestContextFilter.java:49)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>         at 
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:112)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at 
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at 
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>         at 
> org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>         at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>         at 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
>         at 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
>         at java.lang.Thread.run(Thread.java:534)
>

Reply via email to