@BlackkamemRaider escreveu:
Pessoal, eu uso Hibernate, Spring e Thymeleaf implementando um projeto que que não havia uma Annotation "unique=true", após adicionado, ao invés de aparecer uma mensagem de erro no próprio formulário(cadastro-usuário) aparece um erro direto no Browser, quando correto, ele redireciona normalmente para tela de pesquisa e informa a mensagem de sucesso normalmente.
Gostaria que ao digitar o nome do usuário duplicado retornasse uma mensagem de erro normalmente para o formulário de cadastro.@NotNull @Column(name = "username",unique=true) private String userName;
@PostMapping("/salvar") public ModelAndView salvar(User user,UserRole userRole, RedirectAttributes attributes,BindingResult result) { if (result.hasErrors()) { // Nem entra neste metodo return novo(user,userRole); } Pessoa pessoa = pessoaRepository.findOne(codigoPessoaTemp); user.setPessoa(pessoa); user.setEnabled(1); user.setUserRole(userRole); userRepository.save(user); attributes.addFlashAttribute("mensagem", "Usuario salva com sucesso!"); return new ModelAndView("redirect:/users/pesquisar"); }
Quando insironome de usuario que ja existe aparece o erro abaixo;
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon Apr 24 14:48:16 BRT 2017
There was an unexpected error (type=Internal Server Error, status=500).
could not execute statement;
SQL [n/a]; constraint [UK_r43af9ap4edm43mmtq01oddj6]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statementMeu form;
Mensagens: 1
Participantes: 1