首页 > 解决方案 > 为什么 NotNull 注释不起作用 Spring boot

问题描述

我有几个有效的注释,只有 @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";
}

}

标签: javaspringspring-mvcjakarta-ee

解决方案


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

这是javadoc


推荐阅读