所以我的模型简要如下:
@Column
@NotNull
@Size(min = 3)
private String firstname;
@Column
@NotNull
private String lastname;
@Column
@UniqueUsername(message = "Such username already exists")
private String username;
然后是控制器
@RequestMapping(value = "editUser/{id}", method = RequestMethod.POST)
public String editUser(@Valid @ModelAttribute("user") User user, BindingResult bindingResult, @PathVariable Long id, Model model) {
if (bindingResult.hasErrors()) {
System.out.println(bindingResult.getAllErrors());
return "editUser" ;
}
model.addAttribute("roles", roleRepository.findAll());
model.addAttribute("user", userService.findOne(id));
userService.editUser(id, user);
return "redirect:/admin/users";
}
这是视图
我使用百里香作为我的模板引擎。
所以我有最简单的形式,包括firstname,lastname,username 并且我希望能够只编辑姓氏,但是当我发送表单时,它违反了我的用户名字段上的唯一约束(这有点明显)。 目标是能够编辑用户的某个属性,但保留其他属性。我该怎么做?