PageSourceSearch

https://www.hotelbeiramar.com/inc/scripts/verificarCamposForm.js

js hotelbeiramar.com collected 2026-10-08 02:44:28 UTC 3,645 bytes, 92 lines download raw bytes

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.