Jump to content

Archived

This topic is now archived and is closed to further replies.

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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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.

 

 

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.