Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro D.

ASP + Plugin Jquery Validate

Recommended Posts

Pessoal! Nem sei se estou postando no local correto, mas como envolve ASP resolvi postar aqui. Tenho uma página onde há um formulário pra o usuário digitar o nome de usuário de senha de acesso para logar em um sistema. Tentei aprimorar o formulário com o plugin Jquery Validate para os campos serem obrigatórios caso o usuário clique no botão submit. Resolvi deixar um pouco mais "fresco" usando a opção remote do plugin para buscar se o usuário existe e mostrar a mensagem que não existe caso não encontre. Até aí tudo bem, se eu digitar um nome que existe não aparece nada, quando eu digito um nome inválido aparece a mensagem, mas quando eu volto a digitar o nome válido a mensagem não some. No exemplo que eu usei como base era em PHP+Jquery, veja o link:

http://www.emersoncarvalho.com/jquery-validation-campo-unico/

 

Será que alguém pode ver o que pode estar errado na minha página para que a mensagem não suma, sendo que no exemplo com PHP some normalmente. Aproveitando, se alguém tiver links com exemplos de ASP+Jquery e ASP+Ajax eu aceito indicações, é muito dificil achar material relacionado de Jaquery e Ajax com o ASP. Abaixo segue link das minhas páginas:

default.asp : https://skydrive.live.com/?cid=e52948e08b91943a&sc=documents&uc=2&id=E52948E08B91943A%21127#

 

verifica.asp : https://skydrive.live.com/?cid=e52948e08b91943a&sc=documents&uc=2&id=E52948E08B91943A%21127#

 

Desde já agradeço a atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu utilizo também esse plugin em alguns sites, mas o seu problema é que a mensagem não desaparece?

 

olhe um exemplo como uso,

 

'quando chama o ficheiro que vai validar
  username: {
   required: true,
   minlength: 4,
   remote: "duplicado.asp"
  },

'e o ficheiro asp "duplicado.asp"

<!--#include virtual="lib/db.asp"-->
<!--#include virtual="lib/funcoes.asp"-->
<!--#include virtual="lib/decode.asp"-->
<%
response.buffer = true
Response.Charset = "iso-8859-1"
response.contentType = "text/plain"
response.expires = 0

resposta="true"

sql="select login from clientes where login like '"&entrastring(DecodeUTF8(trim(request("username"))))&"'"
set rs = conexao.execute(sql)
if not rs.eof then
resposta="false"
end if
rs.close
set rs = nothing

conexao.close
set conexao = nothing
response.write resposta
%>

a função entrastring serve para tratar as pelicas, pode fazer à sua maneira, a função decodeutf8 use caso não esteja a usar já a codificação utf-8

segue o ficheiro decode.asp que tem a função decodeutf8

<%

' Simple functions to convert the first 256 characters 
' of the Windows character set from and to UTF-8.

' Written by Hans Kalle for Fisz
' [url="http://www.fisz.nl"]http://www.fisz.nl[/url]

'IsValidUTF8
'  Tells if the string is valid UTF-8 encoded
'Returns:
'  true (valid UTF-8)
'  false (invalid UTF-8 or not UTF-8 encoded string)
function IsValidUTF8(s)
 dim i
 dim c
 dim n

 IsValidUTF8 = false
 i = 1
 do while i < len(s)
   c = asc(mid(s,i,1))
   if c and &H80 then
     n = 1
     do while i + n < len(s)
       if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then
         exit do
       end if
       n = n + 1
     loop
     select case n
     case 1
       exit function
     case 2
       if (c and &HE0) <> &HC0 then
         exit function
       end if
     case 3
       if (c and &HF0) <> &HE0 then
         exit function
       end if
     case 4
       if (c and &HF8) <> &HF0 then
         exit function
       end if
     case else
       exit function
     end select
     i = i + n
   else
     i = i + 1
   end if
 loop
 IsValidUTF8 = true 
end function

'DecodeUTF8
'  Decodes a UTF-8 string to the Windows character set
'  Non-convertable characters are replace by an upside
'  down question mark.
'Returns:
'  A Windows string
'
'  Fiz uma pequeno ajuste porque o algoritmo gera erro quando
'  o acento está no último caractere
function DecodeUTF8(s)
 dim i
 dim c
 dim n
 s = s + chr(65)
 i = 1
 do while i < len(s)
   c = asc(mid(s,i,1))
   if c and &H80 then
     n = 1
     do while i + n < len(s)
       if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then
         exit do
       end if
       n = n + 1
     loop
     if n = 2 and ((c and &HE0) = &HC0) then
       c = asc(mid(s,i+1,1)) + &H40 * (c and &H01)
     else
       c = 191 
     end if
     s = left(s,i-1) + chr(c) + mid(s,i+n)
   end if
   i = i + 1
 loop
 s = left(s,len(s)-1)

 DecodeUTF8 = s 
end function

'EncodeUTF8
'  Encodes a Windows string in UTF-8
'Returns:
'  A UTF-8 encoded string
function EncodeUTF8(s)
 dim i
 dim c

 i = 1
 do while i < len(s)
   c = asc(mid(s,i,1))
   if c >= &H80 then
     s = left(s,i-1) + chr(&HC2 + ((c and &H40) / &H40)) + chr(c and &HBF) + mid(s,i+1)
     i = i + 1
   end if
   i = i + 1
 loop
 EncodeUTF8 = s 
end function
%>




 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu utilizo também esse plugin em alguns sites, mas o seu problema é que a mensagem não desaparece?

 

olhe um exemplo como uso,

 

'quando chama o ficheiro que vai validar
  username: {
   required: true,
   minlength: 4,
   remote: "duplicado.asp"
  },

'e o ficheiro asp "duplicado.asp"

<!--#include virtual="lib/db.asp"-->
<!--#include virtual="lib/funcoes.asp"-->
<!--#include virtual="lib/decode.asp"-->
<%
response.buffer = true
Response.Charset = "iso-8859-1"
response.contentType = "text/plain"
response.expires = 0

resposta="true"

sql="select login from clientes where login like '"&entrastring(DecodeUTF8(trim(request("username"))))&"'"
set rs = conexao.execute(sql)
if not rs.eof then
resposta="false"
end if
rs.close
set rs = nothing

conexao.close
set conexao = nothing
response.write resposta
%>

a função entrastring serve para tratar as pelicas, pode fazer à sua maneira, a função decodeutf8 use caso não esteja a usar já a codificação utf-8

segue o ficheiro decode.asp que tem a função decodeutf8

<%

' Simple functions to convert the first 256 characters 
' of the Windows character set from and to UTF-8.

' Written by Hans Kalle for Fisz
' [url="http://www.fisz.nl"]http://www.fisz.nl[/url]

'IsValidUTF8
'  Tells if the string is valid UTF-8 encoded
'Returns:
'  true (valid UTF-8)
'  false (invalid UTF-8 or not UTF-8 encoded string)
function IsValidUTF8(s)
 dim i
 dim c
 dim n

 IsValidUTF8 = false
 i = 1
 do while i < len(s)
   c = asc(mid(s,i,1))
   if c and &H80 then
     n = 1
     do while i + n < len(s)
       if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then
         exit do
       end if
       n = n + 1
     loop
     select case n
     case 1
       exit function
     case 2
       if (c and &HE0) <> &HC0 then
         exit function
       end if
     case 3
       if (c and &HF0) <> &HE0 then
         exit function
       end if
     case 4
       if (c and &HF8) <> &HF0 then
         exit function
       end if
     case else
       exit function
     end select
     i = i + n
   else
     i = i + 1
   end if
 loop
 IsValidUTF8 = true 
end function

'DecodeUTF8
'  Decodes a UTF-8 string to the Windows character set
'  Non-convertable characters are replace by an upside
'  down question mark.
'Returns:
'  A Windows string
'
'  Fiz uma pequeno ajuste porque o algoritmo gera erro quando
'  o acento está no último caractere
function DecodeUTF8(s)
 dim i
 dim c
 dim n
 s = s + chr(65)
 i = 1
 do while i < len(s)
   c = asc(mid(s,i,1))
   if c and &H80 then
     n = 1
     do while i + n < len(s)
       if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then
         exit do
       end if
       n = n + 1
     loop
     if n = 2 and ((c and &HE0) = &HC0) then
       c = asc(mid(s,i+1,1)) + &H40 * (c and &H01)
     else
       c = 191 
     end if
     s = left(s,i-1) + chr(c) + mid(s,i+n)
   end if
   i = i + 1
 loop
 s = left(s,len(s)-1)

 DecodeUTF8 = s 
end function

'EncodeUTF8
'  Encodes a Windows string in UTF-8
'Returns:
'  A UTF-8 encoded string
function EncodeUTF8(s)
 dim i
 dim c

 i = 1
 do while i < len(s)
   c = asc(mid(s,i,1))
   if c >= &H80 then
     s = left(s,i-1) + chr(&HC2 + ((c and &H40) / &H40)) + chr(c and &HBF) + mid(s,i+1)
     i = i + 1
   end if
   i = i + 1
 loop
 EncodeUTF8 = s 
end function
%>




saloeric, vou testar o seu exemplo e depois eu te falo, no código que estou usando deve estar havendo algum erro ao passar as informações do verifica.asp para o default.asp. Quando eu retiro a opção remote do jquery.validate e deixo só a opção de campo requerido, os textos de aviso aparecem e somem normalmente. Vou revisar o arquivo verifica.asp para ver o que pode ser. Mesmo assim, obrigado por enquanto.

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.