gpt4 book ai didi

java - 如何在 org.springframework.format.annotation.DateTimeFormat 中添加自定义错误消息?

转载 作者:搜寻专家 更新时间:2023-11-01 01:50:01 37 4
gpt4 key购买 nike

我正在使用 Bean Validation API 和我的自定义消息进行表单验证:

@NotNull(message = "Please enter your birthday.")
@DateTimeFormat(pattern = "MM/dd/yyyy")
@Past(message = "That's impossible.")
private Date birthday;

一切正常,直到我输入错误的日期格式。然后我的页面上出现了一条冗长冗长的错误消息:

Failed to convert property value of type [java.lang.String] to required type
[java.util.Date] for property birthday; nested exception is
bla-bla-bla...

由于 org.springframework.format.annotation.DateTimeFormat 中的 @interface DateTimeFormat 中没有字段 message 我无法在此处添加消息就像我对其他注释所做的那样。

如何在此处指定自定义消息,如 “请使用 MM/dd/yyyy 格式”

最佳答案

您将必须使用 MessageSource bean 和 messages.properties 文件,您可以在其中添加键值,如下所示。

typeMismatch=Please use MM/dd/yyyy format

如果您使用的是 SpringBoot,那么 MessageSource bean 将默认可用,您只需要在 messages.properties 中添加键值。对于普通的 Spring 应用程序,您可以使用 ReloadableResourceBundleMessageSource 或 ResourceBundleMessageSource。

属性键按以下顺序解析。

typeMismatch.[form].[property] 
typeMismatch.[form]
typeMismatch

请引用http://jtuts.com/2014/11/09/validating-dates-in-spring-form-objects/

关于java - 如何在 org.springframework.format.annotation.DateTimeFormat 中添加自定义错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39778913/

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