【问题标题】:Why NotNull annotation doesnt work Spring boot为什么 NotNull 注释不起作用 Spring boot
【发布时间】:2019-07-03 19:39:27
【问题描述】:

我有几个有效的注释,只有 @NotNull 没有。当我尝试保存名称为空的联系人时,它会保存。如果需要,我可以上传视图文件。
这是我的实体类(只有带有@NotNull 注释的部分)。

@Entity

公开课联系方式{

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;

@NotNull
private String name;

}

这是控制器类:

@Controller

公共类 ContactController {

@Autowired
private ContactRepository contactRepository;

@GetMapping("/addContact")
public String addContact(Model model) {
    model.addAttribute("contact", new Contact());
    return "addContact";
}

@PostMapping("/add")
public String add(@ModelAttribute @Valid Contact contact, BindingResult bindingResult) {

    if(bindingResult.hasErrors()) {
        return "addContact";
    }
    contactRepository.save(contact);
    return "addContact";
}

}

【问题讨论】:

  • 空字符串不等于 null,因此如果您不希望空字符串为 name,请改用 @NotEmpty@NotBlank
  • 谢谢你们。我已经从这里 spring.io/guides/gs/validating-form-input 部分获取了我的代码,它应该可以工作,但我知道为什么它不...

标签: java spring spring-mvc jakarta-ee


【解决方案1】:

正如评论所说,请改用注释@NotBlank。空白字符串不为空 - 例如 String s = ""@NotBlank 将要求至少一个非空白字符。

这里是javadoc

【讨论】:

    猜你喜欢
    • 2021-06-04
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 2019-04-08
    • 2019-09-18
    • 2019-12-18
    • 2017-05-22
    相关资源
    最近更新 更多