gpt4 book ai didi

使用@valid where/how 自定义错误消息进行 Spring 验证

转载 作者:行者123 更新时间:2023-12-01 09:38:01 25 4
gpt4 key购买 nike

我正在尝试使用属性文件中的错误消息进行一些 Spring 验证。
但是我发现的所有示例似乎都有硬编码的值,或者从属性文件中获取但使用验证器类并在那里检索它。

我的设置有点不同。
我在请求映射中使用 @Valid 注释,而我的 @Valid 类使用 @NotNull 等。
我看过一些例子,人们这样做 @NotNull(message = "blablabla");
但这也是硬编码的,我想将消息放在一个属性文件中,这样我就可以轻松地即时编辑它,以便我将来可以轻松实现 i18n。

任何有关如何实现这一目标的意见将不胜感激。

最佳答案

它的工作方式与显式 Validator 完全相同- 你declare a MessageSource 并在 .properties 中写入错误消息文件。消息代码形成为 constraintName.modelAttributeName.propertyName :

publib class Foo {
@NotNull private String name;
...
}

.
@RequestMapping
public String submitFoo(@Valid Foo foo, ...) { ... }
messages.properties :
NotNull.foo.name=...
MessageSource宣言:
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value = "messages" />
</bean>

关于使用@valid where/how 自定义错误消息进行 Spring 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4281165/

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