logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Out 19

Validando Campos de formulário no Actionscript 3.0

Escrito por Lucas Marçal em Destaque, Formulários, interface, Tutoriais, validação @ 10 19th, 2009 | via http://www.lucasmarcal.com.br/blog/ | Sem comentários
Lucas Marçal
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Nesse tutorial vamos trabalhar a validação de dados de um formulário com uma classe que desenvolvi para um projeto que trabalhei.

No meu primeiro artigo sobre Actionscript 3.0 eu mostro uma classe que eu fiz para validar campos de formularios.

Então agora chega de enrrolação e vamos ao que interessa, lembrando que isso é apenas uma experiência e você deve tentar encontrar formas melhores de fazer isso!

/**
 * @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
			}

		}

	}
}

Abraço a todos

| Entradas recentes »

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com