<pedrocorreia.net ⁄>
corner
<mySearch ⁄> <mySearch ⁄>

corner
 
corner
<mySnippets order="rand" ⁄> <mySnippets order="rand" ⁄>

corner
 
corner
<myContacts ⁄> <myContacts ⁄>

<email ⁄>


pc@pedrocorreia.net

<windows live messenger ⁄>


pedrojacorreia@hotmail.com

<myCurriculum type="pdf" ⁄>


Download
corner
 
corner
<myBlog show="last" ⁄> <myBlog show="last" ⁄>

corner
 
corner
<myNews show="rand" ⁄> <myNews show="rand" ⁄>

corner
 
corner
<myNews type="cat" ⁄> <myNews type="cat" ⁄>

corner
 
corner
<myQuote order="random" ⁄> <myQuote order="random" ⁄>

corner
 
corner
<myPhoto order="random" ⁄> <myPhoto order="random" ⁄>

<pedrocorreia.net ⁄>
corner
 
corner
<myAdSense ⁄> <myAdSense ⁄>

corner
 
corner
<myVisitorsMap ⁄> <myVisitorsMap ⁄>

corner
 
 

<Restringir caracteres ⁄ >




clicks: 13479 13479 2007-11-14 2007-11-14 goto mySnippets mySnippets javascript  Download  Bookmark This Bookmark This



A utilização de javascript para validar inputs client-side é cada vez mais importante, se queremos validar dados porque não deixar a parte da verificação do lado do cliente e assim evitar uma ida desnecessária ao servidor, poupando-o assim?

Esta afirmação seria uma verdade absoluta caso o cliente não tivesse a hipótese de desactivar o Javascript :) como tal a validação de dados do lado cliente é tão somente uma salvaguarda para o não sobrecarregamento do servidor e tornar a navegabilidade melhor, ou seja, também não será bom para o cliente andar a preencher a mesma informação cada vez que é detectado um erro, logo a validação do lado do cliente, NÃO INVALIDA A VALIDAÇÃO SERVER-SIDE ;)

Suponhamos que temos uma loja online de venda de bonsais e o cliente ao comprar um produto poderá indicar quantos deseja adquirir. Temos várias hipóteses para este input, podemos por ex. usar uma dropdown e assim restringir imediatamente o valor inserido pelo cliente (não esquecer que como quantidade queremos apenas um valor numérico); ou então usar uma textbox.
Neste 2º caso torna-se mais complicado restringir a inserção a somente algarismos, o cliente poderá facilmente escrever uma palavra. Mas e que tal senão o deixarmos fazer isso? Isto é, verificar em tempo-real a inserção do caracter e permitir unicamente números, claro que podemos fazer essa verificação aquando da submissão do formulário recorrendo por ex. ao isNaN, porém optemos antes por fazer a validação imediatamente na inserção.


  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function IsNumber(evt){
  5. var charCode = (evt.which) ? evt.which : event.keyCode;
  6. return (charCode>=48 && charCode<=57 || charCode<20);
  7. }
  8. </script>
  9. </head>
  10. <body>
  11. Campo de Teste: <input type="text" name="txtOnlyNumbers" onKeypress="return IsNumber(event);">
  12. </body>
  13. </html>



De salientar que a condição "|| charCode<20" serve para permitir caracteres de controlo, tais como: Enter/Return; Tab; Backspace, Delete, Home, End ...

nota: quem diz números poderá dizer outra coisa qualquer, podemos por ex. apenas permitir letras do alfabeto, para ver os char codes deiam uma vista de olhos por esta página

Outra nota é ... não façam código como eu tenho aqui :) isto é, separem o Javascript do Html, criem um ficheiro à parte e façam somente referência a ele usando o <script src="....." />, como por ex:

<script type="text/javascript" src="validar_insercao.js"></script>



Qualquer erro/ dúvida é só dizer!









clicks: 13479 13479 2007-11-14 2007-11-14 goto mySnippets mySnippets javascript  Download  Bookmark This Bookmark This