1
When I am Doing Form validations In Struts I am Getting Exception:    

org.apache.commons.validator.ValidatorException:没有这样的验证方法:
org.apache.struts.validator.FieldChecks.validateRequired
(java.lang.Object, org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator .Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest) 在 org.apache.commons.validator.ValidatorAction.loadValidationMethod
(ValidatorAction.java:604) 在 org.apache.commons.validator.ValidatorAction.executeValidationMethod (ValidatorAction.java:532) 在 org.apache.commons.validator.Field.validateForRule(Field.java:796) 在 org.apache。 commons.validator.Field.validate(Field.java:876) 在 org.apache.commons.validator.Form.validate(Form.java:288) 在 org.apache.commons.validator.Validator.validate(Validator.java: 351) 在 org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:110) 在 org.apache.struts.action.RequestProcessor.processValidate (RequestProcessor.java:927) 在 org.apache.struts.action.RequestProcessor .process(RequestProcessor.java:204) 在 org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) 在 org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain .java:305) 在 org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:222) 在 org.apache.catalina 的 org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210)。 core.StandardContextValve.invoke (StandardContextValve.java:123) 在 org.apache.catalina.authenticator.AuthenticatorBase.invokeinternalDoFilter (ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:222) at org.apache .catalina.core.StandardContextValve.invoke (StandardContextValve.java:123) 在 org.apache.catalina.authenticator.AuthenticatorBase.invokeinternalDoFilter (ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:222) at org.apache .catalina.core.StandardContextValve.invoke (StandardContextValve.java:123) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:472) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache。 catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 407) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process 的 org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1004)
(AbstractProtocol.java:589) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run (JIoEndpoint.java:310) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 在 java.util .concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

4

2 回答 2

2

我在尝试提交表单时也遇到了同样的错误。我发现这个错误可能是由于一个版本的 struts 有一个 validation-rules.xml 文件,而另一个版本的 struts 有一个 struts.jar 文件。检查您的安装并确保这两个文件来自同一个下载。还要检查 WEB-INF/lib 目录中的所有其他 jar 文件是否来自同一下载。

于 2013-03-16T10:09:04.650 回答
0

改变:

<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">

至:

<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
于 2022-02-02T12:07:21.677 回答