1/* Verificar os campos de um formulario, procura nos elementos do form passado como parametro 2 por uma tag: validarInfo com uma das seguintes configuracoes: 3 ""(não definida): O campo não e validado 4 "Texto a mostrar": O texto será mostrado caso a validacao do tipo 0 (se campo vazio) falhar 5 "tipoValidacao,Texto a mostrar": O texto será mostrado se o tipo de validacao especificado falhar 6 7 Tipos de validacao podem ser acrescentados no codigo: 8 switch(tipoValidacao){ 9 ... 10 case N: 11 break; 12 } 13 14 Estao definidos os seguintes tipos de validação: 15 0 -Testar se o objecto está vazio 16 1 -Testar se o valor é numerico 17 2 -Testar se o valor é um email válido 18 */ 19function verificarCamposForm(objForm){ 20 //Array de mensagens descritivas do problema, indexadas pelo tipo de validacao 21 var msgsDescProb=new Array('está vazio', 'tem que conter um número', 'tem que conter um endereço de email válido','tem de ser um endereço HTML válido'); 22 var msgAlerta='Ocorreram os seguintes problemas:\n'; 23 //As mensagens com textoValidacao e msgDescProb indexada ao tipo de validacao escolhido 24 var msgAlertaProbs=''; 25 for (i = 0; i < objForm.length; i++){ 26 var objFormElem=objForm.elements[i]; 27 var objFormElemAttribs=objFormElem.attributes['validarInfo']; 28 if(objFormElemAttribs){ 29 //O atributo validarInfo está definido 30 var valores=objFormElemAttribs.value.split(','); 31 switch(valores.length){ 32 case 0: 33 //O valor de validarInfo está definido mas vazio 34 alert('Objecto: '+objForm.elements[i].name+' com validarInfo definida, mas vazia'); 35 return false; 36 break; 37 case 1: 38 //O valor de validarInfo apenas contem o texto, neste caso irá usar-se o tipo de validacao 0 39 var tipoValidacao=0; 40 var textoValidacao=valores[0]; 41 break; 42 case 2: 43 //O valor de validarInfo contem o tipo de validacao e o texto 44 var tipoValidacao=valores[0]; 45 var textoValidacao=valores[1]; 46 break; 47 } 48 //Testar os elementos por tipo de validação 49 var validacaoFalhou=false; 50 //Testar o valor do objecto através do algoritmo definido atraves do tipo de validacao 51 switch(parseInt(tipoValidacao)){ 52 case 0: 53 //Verificar se está vazio 54 if(objFormElem.value=='') 55 validacaoFalhou=true; 56 //msgAlertaProbs=msgAlertaProbs+textoValidacao+' está vazio \n'; 57 break; 58 case 1: 59 //Verificar se é valor numérico 60 if(objFormElem.value == "" || isNaN(objFormElem.value)) 61 validacaoFalhou=true; 62 //msgAlertaProbs=msgAlertaProbs+textoValidacao+' tem que conter um número \n'; 63 break; 64 case 2: 65 //Verificar se é email válido 66 emailRE = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$"); 67 if(!emailRE.test(objFormElem.value)) 68 validacaoFalhou=true; 69 //msgAlertaProbs=msgAlertaProbs+textoValidacao+' tem que conter um email válido \n'; 70 break; 71 case 3: 72 if(!isUrl(objFormElem.value)) 73 validacaoFalhou=true; 74 //msgAlertaProbs=msgAlertaProbs+textoValidacao+' tem que conter um email válido \n'; 75 break 76 } 77 //Se a validação falhou, acrescentar mais uma mensagem com o texto identificativo do objecto e descricao do erro 78 if(validacaoFalhou) 79 msgAlertaProbs=msgAlertaProbs+textoValidacao+' '+msgsDescProb[parseInt(tipoValidacao)]+'\n'; 80 } 81 } 82 if(msgAlertaProbs!=''){ 83 alert(msgAlerta+msgAlertaProbs); 84 return false; 85 } 86 return true; 87} 88 89function isUrl(s) { 90 var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ 91 return regexp.test(s); 92}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.