segue meu código abaixo que usa o validator para o campo descrição e ano que deveria mostrar a mensagem de erro no jsp quando for preenchido incorretamente.
O interessante q ele redireciona sempre pro formulario() quando os dados são invalidos mas não exibe a mensagem, se alguem puder me ajudar agradeço.
Código java
[code]public class TurmaController {
private final TurmaDao dao;
private final Result result;
private final Validator validator;
public TurmaController(TurmaDao dao, Result result, Validator validator) {
this.dao = dao;
this.result = result;
this.validator = validator;
}
public void adiciona(Turma turma){
if (turma.getDescricao() == null || turma.getDescricao().length() > 40) {
validator.add(new ValidationMessage(
“Descrição é obrigatória e não pode ter mais que 40 letras”,
“turma.descricao”));
}
if (turma.getAno() <= 2009) {
validator.add(new ValidationMessage(
“Preço precisa ser positivo”, “turma.ano”));
}
validator.onErrorUse(page()).of(TurmaController.class).formulario();
dao.salva(turma);
result.redirectTo(TurmaController.class).lista();
}[/code]
Amigos acho q não fui claro na explicação do meu problema.
A questão é que quando eu dou o submit do formulário com dados invalido ele não exibe a mensagem de erro no jsp. Mas ele permanece na tela formulário porq oes dados são invalido ou seja ele ta captando q tem validação mas não mostra a mensagem de dados invalidos. Se eu dou um submit com os dados corretos ele faz toda essa função de redirecionamento de acordo com as regras do vraptor.