Bom tarde!
não estou conseguindo dar uma mensagem do validator do vraptor ao tentar excluir um registro da minha tabela que criado com jquery grid.
Ex: eu tenho um registro que esta vinculado a outro, e ao tentar excluir ele da um PersistenceException que eu estou tratando no controller, eu gostaria de dar uma mensagem usando o validator do vraptor mas não aparece a mensagem para o cliente, eu faço isso na hora de salvar funciona de boa, eu desconfio que não esta funcionando na lista devido o grid ser carregado via json, mas eu do um onErrorUsePageOf, que deveria carregar o jsp lista, imagino que quando eu faço ele deveria carregar a mensagem do validator, espero ter sido claro do meu problema.
segue o código fonte para verificar:
Controller:
@Restrito
@Path("/contador/excluir/{idcontador}")
public void remove(Long idcontador) {
try {
repository.delete(idcontador);
result.redirectTo(this).lista();
} catch (PersistenceException ex) {
validator.add(new ValidationMessage("Não é possível excluir esse registro", "erro"));
validator.onErrorUsePageOf(this).lista();
}
}
@Restrito
@Path("/contador/lista")
@Get
public void lista() {
}
JSP lista:
....
<div style="padding: 6px 6px 6px 6px;" >
<br>
<c:forEach var="error" items="${errors}">
<div class="ui-state-error ui-corner-all" style="padding: 0 7;">
<p style="font-size: 14px">
<span class="ui-icon ui-icon-alert"
style="float: left; margin-right: .3em;"></span>
<strong>Erro: </strong> ${error.message}
</p>
</div>
</c:forEach>
<br>
<table id="rowed3" class="tablista">
</table>
<div id="prowed3"></div>
<br />
<script type="text/javascript"
src="<c:url value='/grid/js/contador/contadorGrid.js" type="text/javascript'/>">
</script>
</div>
</div>
......