小编Ult*_*ter的帖子

使用 Bean 验证来验证“java.util.Date”的日期格式

我有以下代码:

@Document
public class MyBean {
...
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    @NotNull
    private Date theDate;

    @NotBlank
    private String aField;
...
}
Run Code Online (Sandbox Code Playgroud)

当我发布一个有效的日期格式时,服务器返回一个 400 Bad Request 和我的错误消息,并在正文中以 json 格式返回:

{
  "aField": null,
  "theDate":"2011-07-11T121:28:59.564+01:00",
}
Run Code Online (Sandbox Code Playgroud)

现在,当我发布无效的日期格式(无 DateTimeFormat.ISO.DATE_TIME)时,服务器返回400 Bad Request 且正文中没有验证和错误消息。:

{
  "aField": null,
  "theDate":"invalid format",
}
Run Code Online (Sandbox Code Playgroud)

如何验证“java.uti.date”字段的日期格式?

这是我的控制器代码:

@RestController
@RequestMapping("/api/foo")
public class MyController {
    ...
    @RequestMapping(method = RequestMethod.POST)
    public ResponseEntity createMyBean(@RequestBody @Valid MyBean myBean, BindingResult result) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

java validation date date-format javabeans

5
推荐指数
0
解决办法
915
查看次数

标签 统计

date ×1

date-format ×1

java ×1

javabeans ×1

validation ×1