>From: "JS Portal Support" <[EMAIL PROTECTED]> > > Hi, > > When I use the: > client="true"/> The type="double" doesn't seem to work. > When I use float or > integer all works fine. > > Doesn't work means here that validatorscript printing causes the following > exception below. > The commons validator doesn't have a double JavaScript function. The routines can be found here:
http://svn.apache.org/viewvc/jakarta/commons/proper/validator/trunk/src/javascript/org/apache/commons/validator/javascript/ I guess that's because javascript only has a float data type. However, server side validation would require a more granular check to make sure that the number will convert into a java double. The Shale double commons validator doesn't support client side script. The config file can be found here: http://svn.apache.org/viewvc/shale/framework/trunk/shale-validator/src/main/resources/org/apache/shale/validator/validator-rules.xml?view=markup The double rule doesn't have a jsFunctionName attribute linking it to client side javascript. However, I agree that we can do better than the NullPointerException for reporting that client side validation is not supported. > Regards, > Joost Schouten > Gary > The exception: > > java.lang.NullPointerException > at > org.apache.myfaces.renderkit.html.HtmlResponseWriterImpl.write(HtmlResponseW > riterImpl.java:583) > at > org.apache.shale.component.ValidatorScript.writeValidationFunctions(Validato > rScript.java:417) > at > org.apache.shale.component.ValidatorScript.encodeBegin(ValidatorScript.java: > 644) > at > javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:337) > at > javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:224) > at > org.apache.jsp.home.contact_jsp._jspx_meth_s_validatorScript_0(contact_jsp.j > ava:2314) > at > org.apache.jsp.home.contact_jsp._jspx_meth_h_form_1(contact_jsp.java:1629) > at org.apache.jsp.home.contact_jsp._jspService(contact_jsp.java:492) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3 > 32) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:173) > at > org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilte > r.java:268) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:173) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. > java:672) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis > patcher.java:463) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch > er.java:398) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher > .java:301) > at > org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(Servl > etExternalContextImpl.java:415) > at > org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHand > lerImpl.java:234) > at > org.apache.shale.clay.faces.ClayViewHandler.renderView(ClayViewHandler.java: > 442) > at > org.apache.shale.view.faces.ViewViewHandler.renderView(ViewViewHandler.java: > 151) > at > org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:173) > at > org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilte > r.java:268) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:173) > at > com.jsportal.projectportal.web.SessionFilter.doFilter(SessionFilter.java:193 > ) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:173) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. > java:672) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis > patcher.java:463) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch > er.java:398) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher > .java:301) > at com.jsportal.web.LocaleFilter.doFilter(LocaleFilter.java:150) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:173) > at > com.jsportal.multipart.MultipartFilter.doFilter(MultipartFilter.java:60) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:173) > at > com.jsportal.web.JSPRedirectFilter.doFilter(JSPRedirectFilter.java:63) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:173) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja > va:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja > va:178) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126 > ) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105 > ) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java > :107) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC > onnection(Http11BaseProtocol.java:664) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav > a:527) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo > rkerThread.java:80) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav > a:684) > at java.lang.Thread.run(Unknown Source) > > Joost Schouten > JS Portal > Dasstraat 21 > 2623CB Delft > the Netherlands > E: [EMAIL PROTECTED] > W: www.jsportal.com > >