2011-08-22 22 views
6

जेएसआर 303 बीन सत्यापन कार्यान्वयन हाइबरनेट-वैलिडेटर (4.1.0) org.hibernate.validator.constraints.ScriptAssert एनोटेशन प्रदान करता है।मान्यताओं तक पहुंच के साथ सत्यापन @ScriptAssert

मुझे यह स्थिर तरीकों के आमंत्रण के लिए काम नहीं मिल रहा है।

@ScriptAssert(script="_this.isComplexSubValid(_this.attributeA,_this.attributeB)", 
       lang = "javascript") 

... 
public boolean isComplexSubValid(Object a, Object b)... 

लेकिन अब मैं एक स्थिर विधि विभिन्न वर्गों में यह पुन: उपयोग करने के रूप में isComplexSubValid बाह्यरूप करना चाहते हैं। लेकिन मुझे जावास्क्रिप्ट सत्यापनकर्ता के साथ काम करने वाला स्थिर आक्रमण नहीं मिलता है।

@ScriptAssert(script="ComplexValidation.isComplexSubValid(_this.attributeA,_this.attributeB)", 
       lang = "javascript") 

public static boolean isComplexSubValid(Object a, Object b)... 

फेंकता है:

अगर है कॉल के दौरान अनपेक्षित अपवाद: org.hibernate.validator.engine.ConstraintTree.validateSingleConstraint (ConstraintTree.java:156) org.hibernate.validator.engine.ConstraintTree .validateConstraints (ConstraintTree.java:140) org.hibernate.validator.metadata.MetaConstraint.validateConstraint (MetaConstraint.java:121) org.hibernate.validator.engine.ValidatorImpl.validateConstraint (ValidatorImpl.java:327) org। hibernate.validator.engine.Val idatorImpl.validateConstraintsForRedefinedDefaultGroup (ValidatorImpl.java:273) org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForCurrentGroup (ValidatorImpl.java:256) org.hibernate.validator.engine.ValidatorImpl.validateInContext (ValidatorImpl.java:210) ऑर्ग .hibernate.validator.engine.ValidatorImpl.validate (ValidatorImpl.java:119) org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate (SpringValidatorAdapter.java:86) org.springframework.validation.DataBinder.validate (DataBinder.java : 692) org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind (HandlerMethodInvoker.java:807) org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments (HandlerMethodInvoker.java:359) org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod (HandlerMethodInvoker.java:171) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod (AnnotationMethodHandlerAdapter.java:426) org.springframework .web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle (AnnotationMethodHandlerAdapter.java:414) org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:790) org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:719) org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:644) org.springframework.web.servlet.FrameworkServlet.doPut (FrameworkServlet.java:571) javax.servlet। http.HttpS ervlet.service (HttpServlet.java:640) javax.servlet.http.HttpServlet.service (HttpServlet.java:717) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) org.apache .catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal (OpenEntityManagerInViewFilter.java:113) org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter जावा: 76) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) org.springframework.security। web.FilterChainProxy $ वर्चुआ lFilterChain.doFilter (FilterChainProxy.java:368) org.springframework.security.web.access.intercept।FilterSecurityInterceptor.invoke (FilterSecurityInterceptor.java:109) org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter (FilterSecurityInterceptor.java:83) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy। जावा: 380) org.springframework.security.web.access.ExceptionTranslationFilter.doFilter (ExceptionTranslationFilter.java:97) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:380) org.springframework .security.web.session.SessionManagementFilter.doFilter (SessionManagementFilter.java:100) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:380) org.springframework.security.web.authentication.Anon ymousAuthenticationFilter.doFilter (AnonymousAuthenticationFilter.java:78) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:380) org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter (SecurityContextHolderAwareRequestFilter.java: 54) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:380) org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter (RequestCacheAwareFilter.java:35) org.springframework.security .web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:380) org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter (BasicAuthenticationFilter.java:177) org.spring framework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:380) org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter (AbstractAuthenticationProcessingFilter.java:187) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:380) org.springframework.security.web.authentication.logout.LogoutFilter.doFilter (LogoutFilter.java:105) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy। जावा: 380) org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter (SecurityContextPersistenceFilter.java:79) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:380) org.springframework.security.web.FilterChainProxy.doFilter (FilterChainProxy.java:169) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate (DelegatingFilterProxy.java:237) org.springframework.web.filter.DelegatingFilterProxy.doFilter (DelegatingFilterProxy.java:167) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) de.humanfork। security.crsf.IdempotentCsrfPreventionFilter.doFilter (IdempotentCsrfPreventionFilter.java:99) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java: 206) org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal (HiddenHttpMethodFilter.java:74) org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:76) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) org.springframework.web.multipart.support.MultipartFilter.doFilterInternal (MultipartFilter.java:113) org। springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:76) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain।जावा: 206) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.java:88) org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:76) org.apache.catalina.core .ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:233) org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191) org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102) org.apache.catalina.core.StandardEngineValve.invoke (standardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service (कोयोटएडाप्टर.जावा 9 8 9) org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:859) org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process (Http11Protocol.java:5288) org.apache.tomcat.util.net.JIoEndpoint $ Worker.run (JIoEndpoint.java:489) java.lang.Thread.run (Thread.java:662)

तो मेरे सवाल स्क्रिप्ट टैग के अंतर्गत स्थिर विधियां प्रारंभ करने के लिए कैसे है?

कृपया मुझे यह न बताएँ कि मैं @Script टैग का उपयोग करने के बजाय मेरे सत्यापनकर्ता को लागू कर सकता हूं।

उत्तर

3

स्थैतिक विधि वाले वर्ग का वर्ग नाम पूरी तरह योग्य होना चाहिए।

ScriptAssert(script="com.example.demo.ComplexValidation.isComplexSubValid(_this.attributeA,_this.attributeB)", 
      lang = "javascript") 

सार्वजनिक स्थिर बूलियन isComplexSubValid (एक वस्तु, वस्तु ख) ...

संबंधित मुद्दे