其他分享
首页 > 其他分享> > 使用@valid弹簧验证其中/如何自定义错误消息

使用@valid弹簧验证其中/如何自定义错误消息

作者:互联网

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

我的设置有点不同.
我在请求映射中使用@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>

标签:hibernate-validator,spring,validation
来源: https://codeday.me/bug/20190726/1544791.html