Pessoal, tenho uma dúvida. Quero fazer o login do sistema uma requisição ajax(jQuery) para validar o usuário.. segue o código como exemplo:
Obs: Estou usando o VRaptor 3.
<form id="formlogin" method="POST">
<h1 class="imagem"></h1>
<p><br/><br/>Matrícula: <br/> <input name="usuario.login" type="text" tabindex="1" size="15"></p>
<p>Senha: <br/><input name="usuario.senha" type="password" tabindex="2" size="15"></p>
<br/><br/>
<a href="#" title="Entrar">
<input type="submit" name="submit" class="botao" id="submit_btn" value="" tabindex="3">
</a>
<script>
$(document).ready(function(){
$.ajax({
type: "POST",
url: "<c:url value="/login"/>",
data: dataString,
error: function() {
$('#content').html("<h2>Login Invalido!</h2>")
.append("<p>Erro</p>")
.hide()
.fadeIn(1500, function() {
$('#content').append("<p>Tenta de novo</p>");
});
}
});
return false;
});
</script>
</form>
Não estou conseguindo fazer fazer mostrar a mensagem de erro caso o usuário erre a senha.
O código onde ele verifica é esse
public LoginController(SenhaDAO dao, UsuarioLogado logado, Result result) {
this.dao = dao;
this.logado = logado;
this.result = result;
}
@Get @Path("/login")
public void login() {}
@Post @Path("/login")
public void logaUsuario(Usuario usuario) {
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
if (logado.loga(usuario, this.dao)) {
result.redirectTo(IndexController.class).lista();
} else {
List<String> erros = new ArrayList<String>();
erros.add("Erro 1");
erros.add("Erro 2");
result.use(Results.http()).setStatusCode(400);
result.use(Results.json()).from(erros, "erros").serialize();
// result.redirectTo(LoginInvalidoController.class).login();
}
}
}
Obrigado