Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Struts2 如何在表单提交之前禁用struts 2验证?_Struts2_Struts_Struts Config_Struts Validation - Fatal编程技术网

Struts2 如何在表单提交之前禁用struts 2验证?

Struts2 如何在表单提交之前禁用struts 2验证?,struts2,struts,struts-config,struts-validation,Struts2,Struts,Struts Config,Struts Validation,我正在用struts2做一个项目,Hibernate 我希望struts验证我的表单。我添加了一个MyAction validation.xml,效果相当不错。(我说得很好,因为它不会在客户端进行验证。我已经将标记的validate属性设置为true) 首先,它给我提供了一些错误,我通过谷歌搜索得到,我应该添加一个带有输入名称的结果。所以现在我在我的操作中有了一个带有输入名称的结果,但我没有很好地理解它是如何工作的以及为什么 当myAction.action url调用My action时,My

我正在用struts2做一个项目,Hibernate

我希望struts验证我的表单。我添加了一个
MyAction validation.xml
,效果相当不错。(我说得很好,因为它不会在客户端进行验证。我已经将
标记的validate属性设置为true)

首先,它给我提供了一些错误,我通过谷歌搜索得到,我应该添加一个带有输入名称的结果。所以现在我在我的操作中有了一个带有输入名称的结果,但我没有很好地理解它是如何工作的以及为什么

当myAction.action url调用My action时,My action返回一个普通表单,当表单提交时,数据直接进入操作参数并保存在数据库中。然后,填写好的表单将显示一条成功消息。表单字段应在提交时进行验证。但无论何时调用操作,都会验证它们。我尝试了
@SkipValidation
注释,但它完全取消了验证。即使我在execute方法中调用validate方法,它也不会运行。我用一些
System.out.println
行测试了它。struts.xml中的操作定义如下:


增加列表项
克莱克格内勒错误
增加列表项
  • 如何在客户端进行验证
  • 如何使验证仅在表单提交时运行,并在应用程序提供表单字段时禁用它
  • 输入结果的名称是什么?为什么我必须将其添加到操作结果中
  • 通过将validate属性设置为true,就像您所说的那样
  • 通过使用不同的操作来显示表单,或者创建一个拦截器来跳过GET上的验证(我以前就是这么做的),等等
  • “输入”是验证失败时使用的结果,尽管您可以更改它。如果验证失败(默认情况下,类型转换也会失败),那么它必须去某个地方,而“输入”结果就在哪里

  • 对于第二点,设计相同的表单/动作非常繁琐,因为表单字段非常复杂。。。Enum,date,我有一个itemType单选框,用于在6个类中进行选择,它将使我的代码冗余。请您解释一下,我应该设计哪种截取器我知道它很长,所以我在这里创建了一个新问题,我发现为什么它不在客户端显示验证:因为包含css/js文件的struts目录不存在。Myeclipse没有添加它们,我从apache网站下载了整个包。