• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

cyb

[Resolvido] dúvida sobre validação dos textfields

6 mensagens neste tópico

Boas

tenho aqui uma dúvida

como é que posso fazer em actionscript ( no flash 8 ) para ter a certeza que tenho input's text todos preenchidos e que um deles contenha: xxxxxx@xxxx.xxx

isto é para terminar um formmail que está em flash, não sei se ajuda o código que tenho, mas aqui fica

stop();
loadVarsEmail = new LoadVars();
var enviar = function () {
loadVarsEmail.nome = nome.text;
loadVarsEmail.email = email.text;
loadVarsEmail.assunto = assunto.text;
loadVarsEmail.mensagem = mensagem.text;
loadVarsEmail.sendAndLoad("mail.php", loadVarsEmail, "POST");
};
var limpar = function () {
nome.text = email.text=assunto.text=mensagem.text=msg_mv.text="";
};
enviarBt.onRelease = function() {enviar();
};
limparBt.onRelease = function() {limpar();
};
loadVarsEmail.onLoad = function() {
gotoAndStop(2);
if(this.ok)
msg_mv.text = "Obrigado, foi enviado com sucesso.";
else
msg_mv.text = "Ocorreu um erro no envio, tente de novo";
}

encontrei isto sobre a validação de xxxxxx@xxxx.xxx :

on (release) {
if (email.indexOf(" ") != -1 || email.indexOf("@") == -1 || email.indexOf(".") == -1 
||email.length<6||email.lastIndexOf(".")<email.ind exOf("@")) {
show = "Erro";
} else {
show = "Correcto";
}
}

mas penso que só funcione no flash 4 ou 5, esperimentei no flash 8 e não deu.

Fico aguardar sugestões.

cumps,  cyb

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso funciona, só que tens de ir buscar a string que está dentro do textfield e não a instância em si.

stop();
loadVarsEmail = new LoadVars();

enviarBt.onRelease = enviar;

limparBt.onRelease = limpar;

loadVarsEmail.onLoad = function() {
gotoAndStop(2);
if(this.ok)
	msg_mv.text = "Obrigado, foi enviado com sucesso.";
else
	msg_mv.text = "Ocorreu um erro no envio, tente de novo";
}

function checkEmail():Boolean{
var emailStr:String = email.text;
if (emailStr.indexOf(" ") != -1 || emailStr.indexOf("@") == -1 || emailStr.indexOf(".") == -1 ||emailStr.length<6||emailStr.lastIndexOf(".")<emailStr.indexOf("@")) {
	return false;
} else {
	return true;
}
}

function checkFields():Boolean{
if(nome.text!="" || assunto.text!="" || mensagem.text!=""){
	return true;
}else{
	return false;
}
}

var limpar = function () {
nome.text = email.text=assunto.text=mensagem.text=msg_mv.text="";
};

var enviar = function () {
    if(checkEmail() && checkFields()){
	loadVarsEmail.nome = nome.text;
	loadVarsEmail.email = email.text;
	loadVarsEmail.assunto = assunto.text;
	loadVarsEmail.mensagem = mensagem.text;
	loadVarsEmail.sendAndLoad("mail.php", loadVarsEmail, "POST");
}else{
	trace("Erro!!!");
}
};

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:D Muito obrigado yarcub

só mudei a ordem de algumas coisas e ficou a funcionar na perfeição

stop();
loadVarsEmail = new LoadVars();

function checkEmail():Boolean{
var emailStr:String = email.text;
if (emailStr.indexOf(" ") != -1 || emailStr.indexOf("@") == -1 || emailStr.indexOf(".") == -1 ||emailStr.length<6||emailStr.lastIndexOf(".")<emailStr.indexOf("@")) {
	return false;
} else {
	return true;
}
}

function checkFields():Boolean{
if(nome.text!="" || assunto.text!="" || mensagem.text!=""){
	return true;
}else{
	return false;
}
}

var limpar = function () {
nome.text = email.text=assunto.text=mensagem.text=erromsg_mv.text="";
};

var enviar = function () {
    if(checkEmail() && checkFields()){
	loadVarsEmail.nome = nome.text;
	loadVarsEmail.email = email.text;
	loadVarsEmail.assunto = assunto.text;
	loadVarsEmail.mensagem = mensagem.text;
	loadVarsEmail.sendAndLoad("mail.php", loadVarsEmail, "POST");
}else{
	erromsg_mv.text = "Ocorreu um erro, um dos campos não está preenchido correctamente";
}
};
enviarBt.onRelease = enviar;

limparBt.onRelease = limpar;

loadVarsEmail.onLoad = function() {
gotoAndStop(2);
if(this.ok)
	msg_mv.text = "Obrigado, foi enviado com sucesso.";
else
	msg_mv.text = "Ocorreu um erro no envio, tente de novo";
}

mais uma vez muito obrigado yarcub  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:wallbash: fui testar uma coisa que era só escrever o mail e o nome ou outro campo qualquer, ele envia, ou seja não está a verificar os campos todos porque nos outros campos eu não tinha nada escrito, não percebo porque é que faz isso, por exemplo se tiver todos os campos menos o o do mail ele avisa-me que falta um dos campos, por isso não estou a ver onde possa estar o erro.  :hmm:

stop();

Stage.showMenu = false;

loadVarsEmail = new LoadVars();

function checkEmail():Boolean{
var emailStr:String = email.text;
if (emailStr.indexOf(" ") != -1 || emailStr.indexOf("@") == -1 || emailStr.indexOf(".") == -1 ||emailStr.length<6||emailStr.lastIndexOf(".")<emailStr.indexOf("@")) {
	return false;
} else {
	return true;
}
}

function checkFields():Boolean{
if(nome.text!="" || empresa.text!="" || assunto.text!="" || mensagem.text!=""){
	return true;
}else{
	return false;
}
}

var limpar = function () {
nome.text=empresa.text=email.text=assunto.text=mensagem.text=erromsg_mv.text="";
};

var enviar = function () {
    if(checkEmail() && checkFields()){
	loadVarsEmail.nome = nome.text;
	loadVarsEmail.empresa = empresa.text;
	loadVarsEmail.email = email.text;
	loadVarsEmail.assunto = assunto.text;
	loadVarsEmail.mensagem = mensagem.text;
	loadVarsEmail.sendAndLoad("mail.php", loadVarsEmail, "POST");
}else{
	erromsg_mv.text = "Ocorreu um erro, um dos campos não está preenchido correctamente.";
}
};
enviarBt.onRelease = enviar;

limparBt.onRelease = limpar;

loadVarsEmail.onLoad = function() {
gotoAndStop(2);
if(this.ok)
	msg_mv.text = "Obrigado, foi enviado com sucesso.";
else
	msg_mv.text = "Ocorreu um erro no envio, tente de novo";
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Troca esta função:

function checkFields():Boolean{
if((nome.text=="") || (empresa.text=="") || (assunto.text=="") || (mensagem.text=="")){
	return false;
}else{
	return true;
}
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora