Salve Pessoal
No meu primeiro artigo sobre Actionscript 3.0 eu mostro uma classe que eu fiz para validar campos de formularios.
[coolcode lang="actionscript"]
/**
* @autor: Lucas Marçal
* @email: inbox@lucasmarcal.com.br
* @date: 15/05/2009
* @coment: para adicionar um evento ao modificar o conteudo do campo
* de texto registrar o evento
* textInput.addEventListener(Event.CHANGE,clicou);
* public function clicou (e:Event)
{
//trace(“Mudando”)
}
* */
package owinteractive.utils
{
import flash.display.MovieClip;
import flash.events.FocusEvent;
import flash.text.TextField;
import gs.easing.*
import gs.*
public class Validation extends MovieClip
{
public var textInput: TextField;
public var tipo: String;
public var textStatus: Boolean;
public var textOutput: TextField;
public var textName: String;
public var mcStatus: MovieClip;
public var limpar: Boolean;
public function Validation (_txtCamp:TextField,_type:String,_txtResp:TextField,_txtName:String,_mcStatus:MovieClip,_clear:Boolean):void
{
this.textInput = _txtCamp;
this.tipo = _type;
this.textStatus = false;
this.textOutput = _txtResp;
this.textName = _txtName;
if (_mcStatus != null)
{
this.mcStatus = _mcStatus;
}
this.limpar = _clear;
this.textInput.addEventListener(FocusEvent.FOCUS_IN, onIn);
this.textInput.addEventListener(FocusEvent.FOCUS_OUT,onOut);
}
public function onIn(f:FocusEvent):void
{
//trace(“Selecionou ” + f.target.name)
if (this.limpar == true)
{
f.target.text = “”
}
else
{
trace(“Não Limpar campo”)
}
}
public function onOut(f:FocusEvent):void
{
if(this.tipo == “email”)
{
this.emailValidation(f)
}
else
{
this.textValidation(f)
}
}
public function textValidation(t:*):void
{
if(t.target.text == “”)
{
//trace(“Campo Vazio”)
this.textStatus = false
this.textOutput.text = “Preencher o campo ” + this.textName
if (this.mcStatus != null)
{
this.mcStatus.gotoAndStop(3)
}
}
else
{
//trace(“Campo Preenchido”)
this.textStatus = true
if (this.mcStatus != null)
{
this.mcStatus.gotoAndPlay(2)
TweenMax.to(this.mcStatus, 0.5, { alpha:0, ease:Linear.easeNone,delay:2,onComplete:retornaStatus} );
}
}
}
public function emailValidation(t:*):void
{
var email:String = t.target.text;
var arroba:Number = email.indexOf(“@”);
var ponto:Number = email.lastIndexOf(“.”);
var resp:Boolean = arroba > 0 && ponto > arroba;
if(resp == true)
{
//trace(“Email Correto”)
this.textStatus = true
if (this.mcStatus != null)
{
this.mcStatus.gotoAndStop(2);
TweenMax.to(this.mcStatus, 0.5, { alpha:0, ease:Linear.easeNone,delay:2,onComplete:retornaStatus} );
}
}
else
{
//trace(“Preencher corretamente”)
this.textStatus = false
this.textOutput.text = “Campo ” + this.textName + ” incorreto”
if (this.mcStatus != null)
{
this.mcStatus.gotoAndStop(3)
}
}
}
public function getTextStatus():Boolean
{
return textStatus
}
public function retornaStatus():void
{
if (this.mcStatus != null)
{
this.mcStatus.gotoAndStop(1);
this.mcStatus.alpha = 1
}
}
}
}
[/coolcode]
Abraço a todos
Últimos Comentários