gpt4 book ai didi

struts2 - 删除 struts 2 中的转换验证消息或使其通用

转载 作者:行者123 更新时间:2023-12-02 10:48:51 25 4
gpt4 key购买 nike

在我的 struts2 应用程序中,我有一个名为 CarrierNo 的字段,它接受整数,当我将字符串放入其中时,会给出以下验证错误消息:

    *Invalid field value for field "carrierNo".*

我可以像这样在属性文件中自定义此错误消息

    invalid.fieldvalue.carrierNo=this field does not accept characters

但我不想为我的网络应用程序中的每个非字符串字段编写自定义消息,我想使其通用,我尝试了以下方法,但它不起作用

  invalid.fieldvalue.%{getText(fieldName)}=this field does not accept characters

如果没有办法通用,请帮我完全禁用此消息。然后我将使用转换字段验证器以及我在属性文件中定义的单个消息。

所以我的请求是帮助我使这个 invalid.fieldvalue.carrierNo 一般类似这样的形式 invalid.fieldvalue.%{getText(fieldName)}

或禁用此错误消息的显示字段“载体编号”的字段值无效。

最佳答案

您可以创建自己的 ConversionErrorInterceptor 实现,它会找出失败字段的类并获取您的自定义消息。

编辑:
请参阅 ConversionErrorInterceptor 的源代码。例如,您可以在 intercept 方法内的自定义拦截器中执行类似的操作

// get field by name from action
Field f = invocation.getAction().getClass().getDeclaredField(propertyName);
// get type of field
Class clz = f.getType();

String message = LocalizedTextUtil.findDefaultText(XWorkMessages.DEFAULT_INVALID_FIELDVALUE + "." + clz,
invocationContext.getLocale());

并在 messages.properties 文件中放入 xwork.default.invalid.fieldvalue.intxwork.default.invalid.fieldvalue.float

>

关于struts2 - 删除 struts 2 中的转换验证消息或使其通用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12347173/

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