相关文章推荐
谈吐大方的电脑桌  ·  全球共有10位现任女性总统及总理_手机新浪网·  2 周前    · 
干练的硬币  ·  毫米波倒车雷达_百度百科·  1 年前    · 
千年单身的冲锋衣  ·  泰国留学一年到底要花多少钱? - 知乎·  1 年前    · 
焦虑的铁板烧  ·  动画片_百度百科·  1 年前    · 
谈吐大方的鸵鸟  ·  优感官方版-相关推荐-应用宝官网·  2 年前    · 
小百科  ›  hibernate验证器抛出异常ValidationException: HV000028用于@Past注释开发者社区
冷冷的移动电源
11 月前
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
提问

问 hibernate验证器抛出异常ValidationException: HV000028用于@Past注释

Stack Overflow用户
提问于 2020-10-25 20:31:51
EN

我正在使用spring启动项目中的hibernate验证器验证一个实体。我得到了日期验证器@Past的一个例外。我面对 javax.validation.ValidationException: HV000028: Unexpected exception during isValid call

这是我的gradle.build文件中的依赖项

implementation 'org.springframework.boot:spring-boot-starter-validation'

下面是我的一个类似的实体

代码语言: javascript
复制
@NoArgsConstructor
@Data
public class Person{
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    @Column(name = "FIRST_NAME")
    @NotEmpty(message = "ENTER REQUIRED FIELDS - FIRST NAME")
    private String firstName;
    @Column(name = "LAST_NAME")
    @NotEmpty(message = "ENTER REQUIRED FIELDS - LAST NAME")
    private String lastName; 
    @Column(name = "BIRTH_DATE")
    @Past(message = "PLEASE ENTER A VALID DATE ")
    private Date birthDate;    
}

这是一个日志跟踪

代码语言: javascript
复制
2020-10-25 13:09:11.421 DEBUG 21952 --- [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet        : Completed 500 INTERNAL_SERVER_ERROR```
2 1.4K 0 票数 0
EN
java
spring
spring-boot
hibernate
validation

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-05 20:44:53

这是给和我有同样问题的人的。我的问题是来自java.sql.Date的日期对象。现在,我将它们更改为java.util.Date验证工作。

票数 0
EN

Stack Overflow用户

发布于 2020-10-26 09:44:26

我快速地运行了我的示例项目,其中所有的东西都已经配置好了,我认为日期格式是问题所在。可用的默认格式如下

  • yyyy-MM-dd'T'HH:mm:ss.SSSX
  • yyyy-MM-dd'T'HH:mm:ss.SSS
  • EEE,dd MMM yyyy HH:mm:ss zzz
  • yyyy-MM-dd

我就是这样做的

控制器

代码语言: javascript
复制
@PostMapping(value = "test-person")
    public TestPerson testPerson(@Valid @RequestBody TestPerson testPerson) {
        return testPerson;
    @Getter
    @Setter
    @NoArgsConstructor
    @Data
    public static class TestPerson {
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Integer id;
        @Column(name = "FIRST_NAME")
        @NotEmpty(message = "ENTER REQUIRED FIELDS - FIRST NAME")
        private String firstName;
        @Column(name = "LAST_NAME")
        @NotEmpty(message = "ENTER REQUIRED FIELDS - LAST NAME")
        private String lastName;
        @Column(name = "BIRTH_DATE")
        @Past(message = "PLEASE ENTER A VALID DATE ")
        @NotNull
        private Date birthDate;
    @ControllerAdvice
    public static class RestExceptionHandler {
 
推荐文章
谈吐大方的电脑桌  ·  全球共有10位现任女性总统及总理_手机新浪网
2 周前
干练的硬币  ·  毫米波倒车雷达_百度百科
1 年前
千年单身的冲锋衣  ·  泰国留学一年到底要花多少钱? - 知乎
1 年前
焦虑的铁板烧  ·  动画片_百度百科
1 年前
谈吐大方的鸵鸟  ·  优感官方版-相关推荐-应用宝官网
2 年前
Link管理   ·   Sov5搜索   ·   小百科
小百科 - 百科知识指南