我正在用struts2,Hibernate做一个项目。
我希望 struts 验证我的表单。我添加了一个MyAction-validation.xml
,它工作得很好。(我说得很好,因为它没有在客户端验证。我已将<s:form/>
标签的 validate 属性设置为 true)
首先,它给我提供了一些错误并用谷歌搜索我得到我应该添加一个带有输入名称的结果。所以现在我在我的操作中得到了一个带有输入名称的结果,但我并没有很好地理解它是如何工作的以及为什么。
当 myAction.action url 调用我的操作时,我的操作返回一个普通表单,并且当提交表单时,数据直接进入操作参数并保存在数据库中。然后将显示填写好的表格并显示成功消息。表单字段应在提交时进行验证。但是只要调用该操作,它们就会被验证。我尝试@SkipValidation
了注释,但它完全取消了验证。即使我在执行方法中调用 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>
- 如何使验证在客户端工作?
- 如何使验证仅在提交表单时运行,并在应用程序提供表单字段时禁用它?
- 什么是输入结果名称,为什么我必须将其添加到操作结果中?