Ir para conteúdo

POWERED BY:

Arquivado

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

Allan Toshio

[Resolvido] Validação Numérica (isNumeric)

Recommended Posts

Fala pessoal!

 

Alguém poderia me dar uma luz? :rolleyes:

 

Seguinte, quero verificar se o conteúdo de um campo de um form é número.

 

O código que faz a verificação é esse:

 

if not isNumeric(paa1) or paa1 > "10" then
	 response.write "<script>history.back(1);alert('Valor não aceitável.')</script>"
end if

Funciona quase que perfeitamente. Acontece que quando eu deixo o "10" em string (com as aspas), qualquer número que eu coloco no form que não comece com 1, mesmo sendo menor que 10, ele executa o response.

Quando eu deixo o 10 como número (tiro as aspas), o sistema compara direitinho os números, porém quando é digitado um caracter qualquer (sem ser número) ele dá o erro:

 

Erro de tempo de execução do Microsoft VBScript erro '800a000d'

 

Tipos incompatíveis: '[string: "dd"]'

 

/apd/verifica.asp, linha 780

 

dd é o que eu digitei no campo do form para testar.

 

A linha 780 é essa: if not isNumeric(paa1) or paa1 > 10 then

 

 

Por favor, preciso de uma ajuda!

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal! Mas já consegui fazer funcionar direito.

 

Eu aninhei dois if:

 

if not isNumeric(paa1) then
	 response.write "<script>history.back(1);alert('Valor não aceitável.')</script>"
else
	 if paa1 > 10 then
		  response.write "<script>history.back(1);alert('Valor não aceitável.')</script>"
	 end if
end if

 

No primeiro if é verificado se o que foi digitado no form é número. Se não for número, ele executa o response.write;

Se for número, ele passa para o próximo if, verificando se o número é maior que 10. Se for maior, ele executa o response.write.

 

Funcionou direitinho.

 

Valeu.

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.