请教大虾们关于ValidatorActionForm的验证问题

feng2008ao 2005-04-20 05:31:19
我觉得ValidatorActionForm好怪异啊,虽然它的原理很简单,但是实际一用就完全不是那么回事啊。

ValidatorActionForm主要目的是:对多个Action,公用这个Form但是在validation.xml里面是根据action的path来验证这个Form,也就是当请求提交给Action的时候,Action首先检查validate属性是否为true,如果为true,就查找其name对应的form,找到发现其为ValidatorActionForm,就用path去匹配validation.xml里面name为该action的path属性的form验证,并调用其验证规则;对于客户端jsp页面上的javascript代码生成也应该和这个差不多类似的吧?

我对ValidatorActionForm理解就这么多,应该是对的吧?
但是我在网上查了很多关于ValidatorActionForm的问题,发现都是提关于验证的问题,几乎没有几个人给出解决方案。回答的都是理论性的东西。

因此我想问问“大虾”们是否有人真正成功利用过这个东西,如果有,能否做一个简单的这种功能,并发上来看看?

在我的测试中,我有一个ValidatorActionForm:RegisterForm,本来我准备把这个form用于新建用户和查询用户,但是就是发现配置有问题,比如,我的新建用户的action配置为:
<action
path="/SysUser/newUser"
name="registerForm"
type="edu.scu.cs.register.controller.RegisterAction"
scope="request"
validate="true"
input="/index.jsp">
<forward name="success" path="/register/success.jsp"></forward>
<forward name="failure" path="/register/failure.jsp"></forward>
</action>

然后在validation.xml中的form配置为:
<form name="/SysUser/newUser">
...
</form>
在language="zh"的formset也有这个。

页面是:
<html:form action="/SysUser/newUser" method="post" onsubmit="return validateRegisterForm(this);">
。。。
</html:form>

<html:javascript formName="registerForm"/>

运行时,每次都要报错:
No form found under 'registerForm' in locale 'zh_CN'。
我只有配置validation.xml的name为registerForm时才正确。

因此忘大家给我分析一下原因,如果有样例能运行最好。

如果可以的话,还请给我发一份例子到邮箱:feng2008ao@sina.com

谢谢!!!:)
...全文
128 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
feng2008ao 2005-04-25
  • 打赏
  • 举报
回复
to wingtrace(无心·无梦·无语):

我探讨的不是哲学,我探讨的是我上面的那个具体问题:)
梦想家起飞 2005-04-22
  • 打赏
  • 举报
回复
ValidateForm: 基于Form name的校验
ValidateActionForm:基于Form path的校验

选择适合你的,但是你认为适合你的未必就是对的。
feng2008ao 2005-04-22
  • 打赏
  • 举报
回复
to usherlight(xingtian) :

文档不是都说了要validation.xml中的form名称和struts-confing.xml文档中的名字要一样的么?!如果是ValidatorForm的话!!

这个应该没有什么歧义吧??
usherlight 2005-04-20
  • 打赏
  • 举报
回复
registerForm是在Validation.xml中定义的名字,并不一定要和struts-config.xml中对应。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧