Eu to tentando responder uma string quando ocorrer um erro de validação do meu JavaBean. Porém estou recebendo o seguinte erro:
Meu objetivo exibir a validação no front end usando ajax, por isso quero responder com uma String. O estranho é que eu to definindo “pra onde ir”:
validator.onErrorUse(Results.http()).body("erro de validação");
result.use(Results.http()).body("sem erro de validação");
Alguém sabe porque isso acontece e como resolver?
Sim. Inclusive quando não dá erro de validação, ele funciona. Retorna a string “sem erro de validação”. Mas quando dá erro de validação é que essa exceção é lançada. Eu já verifiquei se essa linha tá sendo executada e está sim… Por algum motivo o Vraptor não está entendendo que quando der erro eu quero retornar uma string.
Lucas_Cavalcanti
só pra garantir, existe alguma mensagem de validação sendo adicionada após essa chamada?
vc está fazendo try…catch nesse método?
G
gutomarzagao
Não, eu só uso o validateProperties(contato, field) uma vez e antes dessa chamada.
Sim, eu faço um try catch, mas não nessa linha.
Lucas_Cavalcanti
Acho que sei qual é o problema…
o validator só lança a validationException quando o método chamado é void.
O comportamento é assim, pq não dá pra saber de um jeito fácil que vc terminou de configurar o resultado, então o validator só pára o fluxo qdo vê um método void, ou qdo vc usa um logic result (tipo um redirectTo(COntrolller.class).metodo())