java - 将对象传递到数据库时,调试器说属性有变量,但是当打印 result.hasErrors 时,它是 null

标签 java spring debugging null

我正在尝试将啤酒厂对象添加到数据库中,并在执行任务之前检查错误。当我通过调试器时,它说它有一个今天日期的变量,当它说有错误时,我在检查错误之前设置它,我打印出 result.hasErrors 并且它说该属性为空。

当通过调试器时 enter image description here

当它使用代码检查错误并打印出错误时

@PostMapping("/addBrewery")
public ModelAndView addAnBrewery(ModelMap model, @Valid @ModelAttribute("brewerie") Breweries brewerie, BindingResult result) {
       Date date = new Date();
    brewerie.setLastMod(date);
    brewerie.setId(1);
     if (result.hasErrors()) {
         System.out.println(result);
        return new ModelAndView("/addBrewery");
    }

打印出的错误

Field error in object 'brewerie' on field 'lastMod': rejected value [null]; codes [NotNull.brewerie.lastMod,NotNull.lastMod,NotNull.java.util.Date,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [brewerie.lastMod,lastMod]; arguments []; default message [lastMod]]; default message [may not be null]

最佳答案

I set it before it checks for errors

不,你不知道。由于 @Valid 注解,错误检查是在方法调用之前完成的。调用 result.hasErrors() 不会执行验证,它只是返回当 lastModnull 时分配的结果。

关于java - 将对象传递到数据库时,调试器说属性有变量,但是当打印 result.hasErrors 时,它是 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60579971/

相关文章:

java - Arraylist 元素在最后一个索引之后重复

java - 如何在 Spring Boot 中的 graphql 突变中从服务器端 api 设置 Cookie?

ruby - 如何将 Interactive Ruby 整合到我的开发过程中?

java - 如何使用Random()在JPanel中的随机位置绘制图像?

java - 即使没有启用互联网,isProviderEnabled(LocationManager.NETWORK_PROVIDER) 也会返回 true

java - 记录直接从数据库中获取,而不是从缓存文件中获取

java - 如何通过csv-spring读取队列而不是arrayList?

eclipse - 在调试器中选择 "Step Into"的方法

java - 不幸的是 MyApp 已停止。我该如何解决这个问题?

java - mkdir() 创建的目录被视为文件