我正在为我的应用程序创建注册表单.我想检查用户名是否唯一.我是这样做的
@Transactional
@RequestMapping(value = "/users/", method = RequestMethod.POST)
public String createUser(@ModelAttribute("user") @Valid User user, BindingResult bindingResult){
if (bindingResult.hasErrors() || !userService.isUniqueUsername(user)) {
ModelAndView modelAndView = new ModelAndView("redirect:/admin/createnew");
modelAndView.addObject(bindingResult.getFieldErrors());
ObjectError objectError = new ObjectError("ERROR", "Username exists!");
bindingResult.addError(objectError);
return "user-create";
}
我理解我的逻辑在这里是错误的,因为我没有将bindingresult给予“user-create”视图.
Username error!
所以atm我只能显示来自@NotNull和@Size等注释的错误
但是我怎样才能传递信息来查看服务器上说用户名不是唯一的?
最佳答案 而不是ObjectError使用FieldError对象并将其添加到绑定结果.
验证:
if (influence.getInfluenceImage() == null || influence.getInfluenceImage().isEmpty()) {
FieldError error = new FieldError("addInfluenceDTO", "influenceImage",
"Influence Image should not be empty.");
bindingResult.addError(error);
}
在我看来: