Validators don't get their dependencies injected automatically. Your validator can extend Behavior for this to happen.
Have fun Sven Am 12. Juni 2017, 04:09, um 04:09, Sokab <[email protected]> schrieb: >I wander why I can't return any method form repository inside >Validator.I >need to have all logins inside validator. All methods works properly in >another classes but not in the validating class (implemented >IValidator). >Someone knows why? > > > public class LoginValidator implements IValidator<String>{ > > @Inject > UserBO userBO; > >private final List<String> existingLogins1 = userBO.findAllLogins(); // > ><--- this not works only in this class ??? > private final List<String> allUsers = userBO.findAll(); // <-- another >method like this also don't work > private final List<String> existingLogins2 = Arrays.asList("aaa", >"bbb"); > > @Override > public void validate(IValidatable<String> validatable) { > > } > >private void error(IValidatable<String> validatable, String errorKey) { > System.out.println("ERROR"); > } > > } > > > public class RegisterForm extends Form{ > @Override > protected void onInitialize() { > > > User users = new User(); > CompoundPropertyModel model = new CompoundPropertyModel(users); > this.setModel(model); > > RequiredTextField login = new RequiredTextField("login"); > //login.add(new LoginValidator()); > > ...... > } > } > >When i redirect page to the registration immediately an error is >displayed: > >Unexpected RuntimeException >Last cause: null > >Root cause: > >java.lang.NullPointerException > at >pl.mnlabs.superleague.Validators.LoginValidator.<init>(LoginValidator.java:21) > at >pl.mnlabs.superleague.page.registration.RegisterForm.onInitialize(RegisterForm.java:54) > at org.apache.wicket.Component.fireInitialize(Component.java:878) > at >org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1048) > at >org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:1025) > at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:239) > at >pl.mnlabs.superleague.page.registration.SuperLeagueRegistrationPage.onInitialize(SuperLeagueRegistrationPage.java:26) > at org.apache.wicket.Component.fireInitialize(Component.java:878) > at >org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1048) > at org.apache.wicket.Page.isPageStateless(Page.java:459) > at >org.apache.wicket.request.handler.render.WebPageRenderer.isPageStateless(WebPageRenderer.java:287) > at >org.apache.wicket.request.handler.render.WebPageRenderer.shouldRenderPageAndWriteResponse(WebPageRenderer.java:333) > at >org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:193) > at >org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175) > at >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) > at >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) > at >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283) > at >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) > at >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) > at >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:262) > at >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204) > at >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286) > at >io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) > at >io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) > at >io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) > at >io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) > at >io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) > at >org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) > at >io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) > at >io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) > at >io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) > at >io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) > at >io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) > at >io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) > at >io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) > at >io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) > at >io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) > at >io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) > at >io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) > at >org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) > at >io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) > at >io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) > at >io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284) > at >io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263) > at >io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81) > at >io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174) > at >io.undertow.server.Connectors.executeRootHandler(Connectors.java:202) > at >io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793) > at >java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at >java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:748) > > > >-- >View this message in context: >http://apache-wicket.1842946.n4.nabble.com/Problem-with-return-method-inside-validating-class-tp4678020.html >Sent from the Users forum mailing list archive at Nabble.com. > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [email protected] >For additional commands, e-mail: [email protected]
