Je suis en train de créer un formulaire de registre pour mon application. Je veux vérifier si le nom d'utilisateur est unique. Je le fais par
@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";
}
Je comprends que ma logique est fausse ici car je ne donne pas le résultat de la liaison à la vue "user-create".
<div th:if="${#fields.hasErrors('username')}" th:errors="*{username}">
<p class="bg-danger text-center">Username error!</p>
</div>
Pour l'instant, je ne peux afficher que les erreurs provenant d'annotations comme @NotNull et @Size. Mais comment puis-je passer l'information à la vue que le serveur dit que le nom d'utilisateur n'est pas unique ?