Jquery plugins AJAX验证不适用于struts2 Jquery插件

Jquery plugins AJAX验证不适用于struts2 Jquery插件,jquery-plugins,struts2,Jquery Plugins,Struts2,我正在用struts2+Jquery插件编写一个web应用程序。 我正在使用AJAX表单提交和来自jquery插件的sj:submit标记。 在sj:submit中使用“validate=true”标记验证表单(AJAX)时,我遇到了一个问题。 以下是sj:submit标签: <sj:submit value="ADDUSERNOW" onBeforeTopics="before" onSuccessTopics="success" onErrorTopics="errorSta

我正在用struts2+Jquery插件编写一个web应用程序。
我正在使用AJAX表单提交和来自jquery插件的sj:submit标记。 在sj:submit中使用“validate=true”标记验证表单(AJAX)时,我遇到了一个问题。 以下是sj:submit标签:

<sj:submit value="ADDUSERNOW" onBeforeTopics="before" onSuccessTopics="success" 
    onErrorTopics="errorState" onCompleteTopics="complete" targets="userMgmntDiv" validate="true"/>

My html head部分还包含对验证所需的两个js文件的引用,如下所示

<script language="JavaScript" src="${pageContext.request.contextPath}/struts/utils.js" type="text/javascript"></script>
        <script language="JavaScript" src="${pageContext.request.contextPath}/struts/xhtml/validation.js" type="text/javascript"></script>  

下面给出了名为ActionClass-Validation.xml的验证xml,它与调用验证的类放在同一个包中:

        <validators>
            <field name="userModel.userName">
                <field-validator type="requiredstring">
                    <message>UserName Is Required</message>
                </field-validator>
            </field>
        </validators>

用户名是必需的
提交表单后,不会触发任何验证,执行将继续并调用struts2操作类。
这里有我遗漏的东西吗?我搜索了很多,但找不到任何答案。请帮助
struts2核心版本:2.3.4 struts2 jquery插件:3.3.3 操作配置如下所示:

<action class="addUserAction" method="addUser">
    <interceptor-ref name="jsonValidationWorkflowStack"/>
    <result>addUser.jsp</result>
</action>

addUser.jsp
除上述内容外,我还使用spring+struts2+hibernate来完成上述任务。当我尝试struts2 jason wiki页面中所示的示例时,我得到的错误是:找不到名为AddUserAction的类的操作(这是spring beans.xml中的一个bean) 似乎在调用验证器inteceptor时会抛出错误。 当我注释掉action类-AddUserAction上用于验证的注释时,此错误消失,页面加载成功。 以下是我的问题: 1) 如何使用spring和struts2约定插件?这是因为,约定插件使用自己的机制映射URL和操作(使用注释或默认行为)。
2) 以前,我希望struts.xml文件可以用于url到操作的映射,注释可以用于验证。(使用约定插件)但这种方法似乎不起作用。(约定插件+struts.xml不起作用)

struts2
ajax验证是一种客户端验证,由dojo本机提供,下面是它的文档
struts2 jquery插件
使用jsonValidationWorkflowStack提供此功能,您可以这样使用它:

我已经尝试过了。这工作做得很好。但是,如果您的表单有一个要上传的输入文件,ajax验证就不起作用。

当然,Struts2 jQuery插件提供了客户端验证功能。有关详细信息,请参阅或查看showcase示例。JavaScript控制台中是否存在任何错误?您的操作配置看起来如何?您是否添加了jsonValidationWorkflowStack拦截器?您是否看到使用firebug或类似工具的XHR请求?@jogep,我在java脚本控制台中没有收到任何错误。操作配置包括jsonValidationWorkflowStack拦截器。当ajax请求被发送到服务器时,XHR请求被发送到服务器(也用httpfox和firebug捕获)。问题中发布了操作配置。此外,wiki页面(以及strutrs2-showcase.war)中显示的示例显示了需要struts2约定插件的注释。我是否只需要使用约定插件(更具体地说是注释)?我使用声明性验证而不是注释。