Ir para conteúdo

POWERED BY:

Arquivado

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

Andre Gustavo

Validar File field

Recommended Posts

Olá, pessoal

estou tentando fazer a validação do campo file, estou utilizando uma função que peguei aqui mesmo no forum.

Apliquei a função mas não funcionou. Tenho um form com 5 campos para o usuario selecionar o arquivo e enviar via upload.

Como aplicar a função para que seja validado os 5 campos

abaixo a função que estou utilizando

 

function verifica_extencao() 
{
var extensoesOk = ".jpg,.jpeg,.png";
var extensao = "," + document.form1.foto1.value.substr( document.form1.foto1.value.length - 4 ).toLowerCase() + ",";
if (document.form1.foto1.value == "")
{
alert("O campo do caminho está vazio!!");
return false;
}
else if( extensoesOk.indexOf( extensao.toLowerCase() ) == -1 )
{
alert( document.form1.foto1.value + "\nNão possui uma extensão válida" );java script:location.reload();
return false;
}
else 
{java script:tamanhos();} 
}

function tamanhos() 
{
tamanhoArqMax = 400000
imagem=new Image();
imagem.src=document.form1.foto1.value;
tamanho_imagem = imagem.fileSize 
img_tan = tamanho_imagem
if (tamanho_imagem < 0)
{
java script:tamanhos();
return false;
}
else if (tamanho_imagem > tamanhoArqMax)
{
alert("O tamanho do arquivo é muito grande ... "+tamanho_imagem+" Bytes!! \n Tamanho Máximo suportado : "+tamanhoArqMax+" Bytes \n São "+(tamanho_imagem-tamanhoArqMax)+" Bytes a Mais!");java script:location.reload();
return false;
}
else 
{ return true; }
}

no form to colocando assim:

 

<form name="form1" method="post" action="grava_anexo.asp" enctype="multipart/form-data" onsubmit="return verifica_extencao();">

desde ja agradeço a juda de todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara só uma observação, faça esse tipo de verificação no servidor, pois por ex o firefox nao retorna o caminho todo do arquivo, assim você nao conseguirar validar o tamanho...jáh o IE retorna todo o caminho, é mais confiavel no servidor..

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara só uma observação, faça esse tipo de verificação no servidor, pois por ex o firefox nao retorna o caminho todo do arquivo, assim você nao conseguirar validar o tamanho...jáh o IE retorna todo o caminho, é mais confiavel no servidor..

 

t+

Valeu pela dica Otata, vou ver essa validação no server.

Mas como fazer com que o usuario envie as 5 fotos obrigatoriamente,

tipo enquanto não selecionar 5 arquivos para serem enviados,

o cadastro não se realiza?

 

abrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente é bom voce validar no servidor, mas validar pelo menos a extensao no browser ja ajuda bastande no consumo de banda.

Faz o seguinte no seu campo

 

<input type="file" id="campo" onblur="validar(this,'jpg');" />

e no seu javascript coloca a função

 

function validar(dom,ext){
	var dom=dom.value;
	var reg = new RegExp("."+ext+"$");
	if(dom.match(reg)==null){
		alert('extensao invalida');
	}
}

linha 1: inicia a função passando como parametro o elemento que tem o value a ser validado

linha 2: pegamos o value

linha 3: verifica se o final do arquivo tem a extensao passada, repare que temos um ponto + extensao + cifrao($), esse cifrao indica que o .extensao tem que esta no final do arquivo

linha 4: match() executa a linha 3 no value pegado na linha 2

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.