Ordenamento bean validation Spring MVC

0 respostas
Phpimenta

Olá, pessoal!

Alguém sabe como ordenar as mensagens de erro do bean validation no Spring MVC? Estou com problema na situação abaixo:

Classe modelo:

@Entity
@SequenceGenerator(name = Cliente.SEQUENCE_NAME, sequenceName = Cliente.SEQUENCE_NAME, allocationSize = 1)
public class Cliente implements Serializable {

    private static final long serialVersionUID = 1L;

    public static final String SEQUENCE_NAME = "cliente_pkey_seq";

    @Id
    @GeneratedValue(generator = SEQUENCE_NAME, strategy = GenerationType.SEQUENCE)
    private Long codigo;
    @Enumerated(EnumType.STRING)
    private Nacionalidade nacionalidade;
    @NotEmpty(message="Nome do cliente deve ser informado")
    @Column(name = "nome_completo", length = 100)
    private String nomeCompleto;
    @Enumerated(EnumType.STRING)
    @NotNull(message="O campo sexo não pode ficar em branco")
    @Column(length = 10)
    private Sexo sexo;
}

Controller

@Controller
@RequestMapping("/clientes")
public class ClienteController extends DefaultController {

    private static final long serialVersionUID = 1L;

    private static final String CADASTRO_VIEW = "/clientes/cadastro";

    @Autowired
    private CadastroClienteService cadastroClienteService;

    @RequestMapping(method = RequestMethod.POST)
    public ModelAndView salvar(@Validated Cliente cliente, Errors errors, RedirectAttributes attributes) {
        ModelAndView mv = new ModelAndView(CADASTRO_VIEW);
        if (!errors.hasErrors()) {
            cadastroClienteService.salvar(cliente);
            attributes.addFlashAttribute("mensagem", "Cliente salvo com sucesso!");
        }
        return mv;
    }
}

Formulário HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:th="http://www.thymeleaf.org"
  xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  layout:decorator="layoutPadrao">
<div class="page-header" layout:fragment="pageHeader">
  <h3>
    <i class="icon icon-users"></i> Clientes
  </h3>
</div>

<section layout:fragment="conteudo">
  <form method="post" th:action="@{/clientes}" th:object="${cliente}">
    <div class="panel panel-default">
      <div class="panel-body">
        <div class="alert alert-success" th:if="${!#strings.isEmpty(mensagem)}">
          <span th:text="${mensagem}">Salvo com sucesso!!!</span>
        </div>
        <div class="alert alert-danger" th:if="${#fields.hasAnyErrors()}">
          <p>Alguns erros foram encontrados, por favor verifique:</p>
          <div th:each="detailedError : ${#fields.detailedErrors()}">
            <span th:text="${detailedError.message}"></span>
          </div>
        </div>
        
          <!-- FORMULÁRIO !-->
      </div>
    </div>
  </form>
</section>
</html>

Problema apresentado: Ao submeter o formulário, as mensagem de erro estão aparacendo em ordem aleatória

Exemplo:

Alguns erros foram encontrados, por favor verifique:
Nome do cliente deve ser informado
Data de nascimento deve ser informada
O campo sexo não pode ficar em branco

Alguns erros foram encontrados, por favor verifique:
Data de nascimento deve ser informada
O campo sexo não pode ficar em branco
Nome do cliente deve ser informado

Desde já agradeço a todos que puderem me ajudar de alguma forma

Criado 15 de abril de 2016
Respostas 0
Participantes 1