java - 为什么 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";
}
}
解决方案
正如评论所说,请改用注释@NotBlank
。空白字符串不为空 - 例如String s = ""
。@NotBlank
将要求至少一个非空白字符。
这是javadoc:
推荐阅读
- javascript - 节点:fs.readdir() 总是返回文件
- docker - 如何在 Dockerfile 中运行 CMD 后使用文件系统快照构建映像
- salesforce - 未找到自定义字段
- python - 使用函数延迟打印字符串时,输入返回无
- c++ - 带有 -g 编译选项的某些 C++ 模板类的大内存使用和目标文件大小
- python - 设置 jupyter notebook 时遇到问题 No Module
- javascript - URL 参数分离
- python - 如何将具有 n 个值的 DataFrame 列转换为 n 个二进制列?
- python - Python 仍然使用默认版本而不是 Venv
- sql - 需要帮忙。子查询或存在...应该是什么查询?