Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

WebMasterJr

[Resolvido] Retornar Se login existe ou nao em cadastro de Login

Recommended Posts

<input id="Login" class="validate[required]" type="text" value="" name="Login" maxlength="30" data-val-required="Insira um nome de usuário" data-val-length-max="20" data-val-length="Nome de usuário não pode exceder 20 caracteres" data-val="true" style="width: 240px;">

 

 

Isso foi o que apareceu so no campo do edit para coloca ro Login.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu Amigo estou quase conseguindo... mais não é pelo método que estávamos tentando...

 

 

É bem mais simples... assim que terminar posto a resposta para ajudar os demais que tem esse mesmo problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim que tiver tudo certinho eu posto aqui e explico o que eu fiz em cada parte.

 

Ainda não está completo mais não sera mais necessário usar a function() na view....

 

 

Pois em uma biblioteca sera feito o tratamento da resposta, na qual essa biblioteca foi modificada por mim e pelo meu superior.

 

Portanto estamos apenas terminado o controller pois ainda não esta retornando nenhum resultado.

 

Assim que tiver mais coisas eu estarei aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz algumas pequenas mudanças no Controller e na View, abaixo esta o controller modificado:

 

[HttpPost]
       public ActionResult UserIsAvaliable(FormCollection fc)
       {
           using (ModelContainer mc = new ModelContainer())
           {
               string login = fc["fieldValue"];
               int qtdUser = (from o in mc.Usuarios where o.Login == login select o).Count();
               ArrayList a = new ArrayList();
               a.Add("fieldValue");
               a.Add(qtdUser == 0);

               return Json(a);
           }
       }

 

Onde foi inserido um ArrayListe essa consulta esta sendo feito via linq.

 

E agora abaxio estará o View da parte do usuario no campo de cadastro de login:

 

@Html.LabelFor(model => model.Login):
       @Html.TextBoxFor(model => model.Login, new { @class = "validate[required,ajax[ajaxValidaUsuario]]", maxlength = "30" })
       @Html.ValidationMessageFor(model => model.Login)

 

Onde foi posto o "ajax[ajaxValidaUsuario]" que seria um tratamento no "jquery.validationengine.js" para exibir uma mensagem de "Validando..." e assim que terminar de consultar o banco ele retorna se é "true" ou "false", se caso retornar false ele pode ser cadastrado e se aparecer true ja tem o login que o usuario solocitou.que é feito desse modo:

 

"ajaxValidaUsuario": {
                   "url": "UserIsAvaliable",
                   "alertText": "Este Usúario Já está em uso",
                   "alertTextOk": "Usúario Disponivel",
                   "alertTextLoad": "Validando..."
               }

 

O problema que esta acontecendo é que nao esta pegando o que esta sendo digitado no campo de login no Controller e por isso não esta fazendo a validação no banco para ver se tem alguém com esse mesmo login.Poderiam me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, olhando assim seu código, alguns erros:

Na sua action UserIsAvaliable, você recupera um input com nome fieldValue, e na sua view não tem nenhum controle com esse nome, pelo jeito o nome do input chama-se Login.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ali onde esta "fliedValue" é o valor do campo que esta na view e o login que esta na view esta mandando só que nao esta chegando...

 

Já debuguei mais sempre fica "null" e não consigo retornar nada, e por isso a validação nao esta 100%.

 

E nos "a.Add" é pra pegar o valor digitado no campo e colocar na posição "zero", ou seja, se existir uma pessoa com esse mesmo nome retorna "true" se não existir retorna false e da a mensagem de usuário valido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.