为什么 NotNull 注释不起作用 Spring 引导
Why NotNull annotation doesnt work Spring boot
我有几个有效的注释,只有@NotNull 无效。当我尝试用空名称保存联系人时,它会保存。如果需要我可以上传视图文件。
这是我的实体 class(只有带有 @NotNull 注释的部分)。
@Entity
public class 联系{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@NotNull
private String name;
}
这里是控制器class:
@Controller
public class 联系人控制器 {
@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:
我有几个有效的注释,只有@NotNull 无效。当我尝试用空名称保存联系人时,它会保存。如果需要我可以上传视图文件。
这是我的实体 class(只有带有 @NotNull 注释的部分)。
@Entity
public class 联系{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@NotNull
private String name;
}
这里是控制器class:
@Controller
public class 联系人控制器 {
@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: