Verificar disponibilidade de username com jquery + vraptor
4 respostas
demiante
Pessoal, minha dúvida é de novato. Comecei a mexer com jquery e ajax ontem e parei neste problema em particular.
Não entendo direito como faço para verificar a disponibilidade de um username utilizando jquery para direcionar para um controller do vraptor.
Tenho o seguinte no meu jsp:
…
This username is not available
...
E coloquei o script da seguinte forma:
…
Tenho um controller chamado UserController e ele possui o método check. A pergunta é: como faço para receber o username no método do controller e como faço para responder corretamente? Coloquei o sysout no método check do controller e parece que a chamada sequer está ocorrendo.
tem vários jeitos de fazer isso, depende de como vc quer que seja a usabilidade…
se vc quer fazer a verificação quando o usuario submete o formulário, faça:
$('#id_do_form').submit(function(){varcheck=false;$.ajax({url:'/user/check',data:{username:$('#id_do_campo_de_login').val()}success:function(data){check=data=='true';//oualgodotipo}});if(!check){alert("usuario já existe");}returncheck;});
assim qdo clicar no submit ele valida…
vc pode trocar o $(’#id_do_form’).submit()
por $(’#id_do_campo_de_login’).blur(), daí
ele vai validar qdo o usuário sair do campo login
demiante
Oi Lucas, valeu pela ajuda. Essa solução de jQuery ficou muito mais elegante do que a função que eu estava tentando usar antes.
Contudo, meu maior problema permanece: não entendo porque o método check(String username) do meu controler UserController não está sendo chamado. O que posso estar fazendo errado? Fiz uma função que simplesmente retorna true e nada acontece (já testei fazendo retornar falso e nada muda).