gpt4 book ai didi

java - 支柱2.5 : Validation occurring but no message displayed

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:02 25 4
gpt4 key购买 nike

好吧,过去两天我的头撞在砖墙上,因为我的验证消息不会在 JSP 上输出,尽管验证显然正在发生......

我已经通过action-validation.xml为必填字段设置了简单的验证

<validators>
<field name="firstname">
<field-validator type="requiredstring">
<message>First name is required</message>
</field-validator>
</field>
</validators>

Action 类扩展了 ActionSupport 并接口(interface) ServletRequestAware、Preparable、ModelDriven

执行、准备和验证方法都在操作类中被重写,并且其配置是

<package name="main" namespace="/" extends="struts-default">
<action name="myform" class="com.uk.MyFormAction">
<interceptor-ref name="store">
<param name="operationMode">STORE</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />

<result name="update">s2/user.jsp</result>
<result name="input">s2/user.jsp</result>
</action>
</package>

无论出于何种原因,validation.xml 文件中的验证都不会在我的 JSP 内输出任何内容

<s:if test="hasActionErrors()">
<s:actionerror />
</s:if>

<s:textfield name="firstname" />

页面上还有其他字段,我只是想让这个字段先工作。我添加了拦截器存储,这没有什么区别,并且对 type="redirectAction"很感兴趣,但是当将其添加到我的输入结果中时,我在提交时的操作的验证和准备方法之间出现无限循环...

我确信实际配置是正确的。当该字段存在时,提交会正确完成,但是当它为空时,struts 会重定向回 JSP,但不会给出错误消息。

我现在完全不知道哪里出了问题,请问有什么建议吗?

编辑:顺便说一句,如果我通过我的验证函数添加 addActionError() ,它会在页面上正确显示,但同样缺少validation.xml消息(也不应该)

此外struts.ui.theme=simple正在使用

我能找到的与我的问题相关的最近的帖子可以是 found here但是消息拦截器似乎没有存储或拦截我的消息...我尝试通过打印 getActionErrors 集合的大小来输出 ActionErrors 的数量,该集合在我的执行和验证函数中返回 0...我不确定如果工作正常,是否应该返回validation.xml 错误

最佳答案

在我想要打印错误消息的区域内,我有以下代码

<s:if test="hasActionErrors()">
<s:actionerror />
</s:if>

<s:if test="hasActionMessages()">
<s:actionmessage />
</s:if>

以上是针对 ActionErrors 和 ActionMessages 的,而不是针对字段错误的。您还需要的是

<s:fielderror />

因为我已经通过我的 action-valiation.xml 文件定义了字段错误!

通过 this post 提供帮助

您还可以定义特定字段的位置。 This post解释说...

关于java - 支柱2.5 : Validation occurring but no message displayed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44700495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com