0
我正在用struts2,Hibernate做一个项目。如何在表单提交之前禁用struts 2验证?
我希望struts验证我的表单。我已经添加了一个MyAction-validation.xml
,它工作得很好。 (我说的相当好,因为它不在客户端验证我已经将<s:form/>
标记的validate属性设置为true)
首先它提供了一些错误并使用Google搜索它我得到了,我应该添加一个结果与输入名称。所以现在我在我的动作中有一个输入名称的结果,但不明白它是如何工作的以及为什么。
当myAction.action url调用它时,我的操作返回一个普通表单,当表单提交时,数据直接转到操作参数并保存在数据库中。然后填写的表单将显示成功消息。表单字段应在提交时进行验证。但是每当这个动作被调用时它们都会被验证。我尝试了@SkipValidation
注释,但它完全取消了验证。即使我在execute方法中调用validate方法,它也不会运行。我测试了一些System.out.println
行。在struts.xml中我的动作定义如下:
<action name="ShowAddItemPage" class="action.clerk.ShowAddItemPage">
<result name="success" type="tiles">addItem</result>
<result name="generalError" type="tiles">clerkGeneralError</result>
<result name="input" type="tiles">addItem</result>
</action>
- 我怎样才能让在客户端验证工作?
- 如何才能在表单提交时进行验证运行,并在表单字段由应用程序提供时将其禁用?
- 什么是输入结果名称,为什么我必须将其添加到操作结果中?
对于第二点,设计相同的表单/动作非常繁琐,因为表单域非常复杂......枚举,日期,我有一个itemType单选框用于在6个类中进行选择,它将使我的代码冗余。你可以解释一下,我应该设计这种截取器的截取方式,我知道它很长,所以我在这里创建一个新的问题http://stackoverflow.com/questions/14185806/ – Johnny
我发现它为什么不显示验证客户端方:因为包含css/js文件的struts目录不存在。 Myeclipse不添加它们,我必须从apache网站下载整个包。 – Johnny