Ir para conteúdo

POWERED BY:

Arquivado

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

wills

validar campo input type="file" e e-mail

Recommended Posts

olá pessoal!

 

encontrei por aui uma validação legal... porém, não está sendo funcional em meu site pois, nem ela funciona e nem minhas outras validações.

 

alguém poderia me ajudar nisto?

 

/* verifica extensão */
function verifica_extencao(id) {
var extensoesOk = ",.psd,";

var extensao = "," + document.getElementById(id).value.substr( document.getElementById(id).value.length - 4 ).toLowerCase() + ",";
if (document.getElementById(id).value == "")
{alert("O campo do endereço da imagem está vazio!!")}
else if( extensoesOk.indexOf( extensao ) == -1 )
{ alert( document.getElementById(id).value + "\nNão possui uma extensão válida" );java script:location.reload()}
else {java script:tamanho1()}

}

function tamanho1() {
tamanhoArqMax = 15000
imagem=new Image();
imagem.src=document.getElementById(id).value;
tamanho_imagem = imagem.fileSize
img_tan = tamanho_imagem
if (tamanho_imagem < 0)
{java script:tamanhos()}
else if (tamanho_imagem > tamanhoArqMax)
{alert("O tamanho da Imagem é 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()}
else
{java script:ativafigura()}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu código está muito bagunçado e tem mais de 1 erro... Refiz ele aqui mas a parte de pegar o tamanho do arquivo não funciona, ele retorna -1...

 

function verifica_extensao(id){
var extensoesOk = ",.psd,";
var extensao = "," + document.getElementById(id).value.substr( document.getElementById(id).value.length - 4 ).toLowerCase() + ",";

	if(document.getElementById(id).value == ""){
		  alert("O campo do endereço da imagem está vazio!!");
	}else{
		  if(extensoesOk.indexOf( extensao ) == -1 ){
			  alert( document.getElementById(id).value + "\nNão possui uma extensão válida" );
			  location.reload();
			  
		  }else{
			  tamanho1(id);
		  }
	}
}

function tamanho1(id) {
tamanhoArqMax = 15000;
imagem = new Image();
imagem.src = document.getElementById(id).value;
tamanho_imagem = imagem.fileSize;
img_tan = tamanho_imagem;

	if(tamanho_imagem < 0){
		  tamanhos();
	}else{
		  if(tamanho_imagem > tamanhoArqMax){
			  alert("O tamanho da Imagem é muito grande ... "+tamanho_imagem+" Bytes!! \n Tamanho Máximo suportado : "+tamanhoArqMax+" Bytes \n São "+(tamanho_imagem-tamanhoArqMax)+" Bytes a Mais!");
			  location.reload();
		  }else{
			  ativafigura();
		  }
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

como assim retorna -1?

 

é, esse código descolei na web....

 

o problema é que eu não consigo jogar essa função no botão para ele validar... será que é porque tem uma outra função ao submeter o form?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei mais uma melhorada no script... Mas ainda assim vai retornar -1 pra extensão .psd o JS não reconhece psd como uma imagem...

Só irá funcionar com gif, jpg, bmp...

<script>
function verifica_extensao(id){
var extensoesOk = ",.psd,";
var extensao = "," + document.getElementById(id).value.substr( document.getElementById(id).value.length - 4 ).toLowerCase() + ",";

	if(document.getElementById(id).value == ""){
		  alert("O campo do endereço da imagem está vazio!!");
	}else{
		  if(extensoesOk.indexOf( extensao ) == -1 ){
			  alert( document.getElementById(id).value + "\nNão possui uma extensão válida" );
			  location.reload();

		  }else{
			  tamanho1(id);
		  }
	}
}

function tamanho1(id) {
tamanhoArqMax = 15000;
var imagem = new Image();
imagem.onload = function (evt) {
tamanho_imagem = imagem.fileSize;
img_tan = tamanho_imagem;

	if(tamanho_imagem < 0){
		  tamanhos();
	}else{
		  if(tamanho_imagem > tamanhoArqMax){
			  alert("O tamanho da Imagem é muito grande ... "+tamanho_imagem+" Bytes!! \n Tamanho Máximo suportado : "+tamanhoArqMax+" Bytes \n São "+(tamanho_imagem-tamanhoArqMax)+" Bytes a Mais!");
			  location.reload();
		  }else{
			  ativafigura();
		  }
	}
}
imagem.src = document.getElementById(id).value;
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

compreendi... mas podes me dizer se há como fazer duas validações ao mesmo tempo?

 

uma com função no bt enviar e ou tro no submit do form

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, mas a validação é normal....

 

/* validar upload */
function upload(){
	if (document.frm_xhtml.txtnome.value.length < 10){
		alert ("Preencha o campo NOME corretamente!");
		document.frm_xhtml.txtnome.focus();
		return false;
	}
	if (document.frm_xhtml.txtmail.value.indexOf("@")==-1 || document.frm_xhtml.txtmail.value.indexOf('.')==-1) {
		alert ("Preencha o campo E-MAIL corretamente!");
		document.frm_xhtml.txtmail .focus();
		return false;
	}
	if (document.frm_xhtml.txttelefone.value.length < 10){
		alert ("Preencha o campo TELEFONE corretamente!");
		document.frm_xhtml.txttelefone.focus();
		return false;
	}
	
	if (isNaN(document.frm_xhtml.txttelefone.value)){
		alert ("Preencha o campo TELEFONE apenas com números!");
		document.frm_xhtml.txttelefone.focus();
		return false;
	}
return true;
}

até ai, tudo bem, funfa legal... mas não compreendo como o outro se encaixa ae

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

pessoal, preciso de uma ajuda nesta validação.

 

ela valida o campo file para verificar se está vazio. porém, quero que valide também o tipo de arquivo, que seria psd e somente esta podes passar.

 

fiz assim:

 

function onComposeSubmit() {
	var formDOMObj = document.frm_xhtml;
	if (formDOMObj.arquivo.value == ""){
		alert("Selecione seu arquivo .PSD, por favor!.")
	}else{
		return true;
	}
	var ext = new Array()
	ext[0] = ".psd";

	extensao = document.frm_xhtml.arquivo.value;
	posicao = extensao.indexOf(".");
	tamanho = extensao.length;
	extensao = extensao.substring(posicao, tamanho);

	valida = false;
	for (var i = 0; i < ext.length; ++i){
	   if (ext[i] == extensao){
		  valida = true;
	   }
	}

	if (document.frm_xhtml.arquivo.value != ""){
	   alert ("A extensão não é valida.");
	   document.frm_xhtml.arquivo.focus();
	   return false;
	}
	return false;
}

porém, ele não valida se é psd.

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.