the complete stacktrace as below, the Exception throw when constructor creating the UI, AddValidator, create FieldGroup, register datasource and binding as the code above.
I do hope you can elight me, thanks
Jan 09, 2015 9:32:07 AM com.vaadin.server.DefaultErrorHandler doDefault
SEVERE:
javax.validation.ValidationException: Unable to find a default provider
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264)
at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)
at com.vaadin.data.validator.BeanValidator.getJavaxBeanValidatorFactory(BeanValidator.java:162)
at com.vaadin.data.validator.BeanValidator.getJavaxBeanValidator(BeanValidator.java:177)
at com.vaadin.data.validator.BeanValidator.validate(BeanValidator.java:113)
at com.vaadin.ui.AbstractField.validate(AbstractField.java:963)
at com.vaadin.ui.AbstractField.validate(AbstractField.java:928)
at com.vaadin.ui.AbstractField.getErrorMessage(AbstractField.java:1037)
at com.vaadin.ui.AbstractComponent.beforeClientResponse(AbstractComponent.java:677)
at com.vaadin.ui.AbstractField.beforeClientResponse(AbstractField.java:1700)
at org.vaadin.risto.stepper.AbstractStepper.beforeClientResponse(AbstractStepper.java:99)
at com.vaadin.server.communication.UidlWriter.write(UidlWriter.java:99)
at com.vaadin.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:151)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:99)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1406)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:305)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:198)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:176)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2440)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2429)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Have you also provided an implementation? Vaadin drags in the API to make GWT compilation pass, but there is no actual implementation (like hibernate validator). Thus, I’d suggest to use a real Java EE server instead of plain servlet container. In addition to bean validation that works out of the box, you’ll get a bunch of other essential tools for free too.