我有几个有效的注释,只有@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";
}
}
答案 0 :(得分:0)
如评论所述,改为使用注释@NotBlank
。空白的字符串不为空-例如String s = ""
。 @NotBlank
将要求至少一个非空白字符。
这里是javadoc: