Ir para conteúdo

POWERED BY:

Arquivado

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

Elektra

Impedir que Backspace valide campo de form

Recommended Posts

Esta validação impede campos vazios, mas não apenas o uso de um ou múltiplos backspace.

 

 

Arquivo publicado >> Clique aqui

 

 

Ainda não sei como declarar isso. Estou começando no AS3.

 

 

Idéias ou algum link para estudo será bem vindo.

 

 

 

function envia(e:MouseEvent):void
{
	if( contato_nome.text == "" || contato_email.text == "" ||
		contato_assunto.text == "" || contato_mensagem.text == "" )
	{
		mensagem_status.text = "Por favor preencha todos os campos de texto.";
	}

 

O campo para email está ok, possui validação e mensagem específica.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

você poderia fazer algo assim:

 

var campo = contato_nome.text;
campo = campo.split('  ').join(' ');//remove espaços duplicados

if(campo == '' || campo == ' '){
  trace('preencha todos os campos')
}

 

seria bom criar uma função para validar isso

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigada Eder.

 

 

O método join() eu tinha visto no Help ao estudar Array.

 

Por enquanto não saberia coordenar com o split(), relacionado a String.

 

Vou tentar aqui.

 

 

Abraços

 

 

 

 

Matheus, esse tipo de comentário não auxilia em nada quem está aprendendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigada Eder.

 

 

O método join() eu tinha visto no Help ao estudar Array.

 

Por enquanto não saberia coordenar com o split(), relacionado a String.

 

Vou tentar aqui.

 

 

Abraços

 

 

 

 

 

Matheus, esse tipo de comentário não auxilia em nada quem está aprendendo.

 

 

Elektra na verdade não foi um comentário e sim mesmo que uma pergunta, porque não vi problemas no exemplo.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Elektra, o ideal é remover os espaços de antes e depois dos valores dos campos, assim como costumamos fazer chamando trim() no PHP. Como o ActionScript não tem essa função nativamente, criamos uma:

 

function trim(value:String):String
{
	return value.replace(/^\s*(.*[^\s])?\s*$/s, '$1');
}

function envia(e:MouseEvent):void
{
        if( trim(contato_nome.text) == "" || trim(contato_email.text) == "" ||
                trim(contato_assunto.text) == "" || trim(contato_mensagem.text) == "" )
        {
                mensagem_status.text = "Por favor preencha todos os campos de texto.";
        }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço por compartilhar brunobispo.

 

 

Esta curiosidade surgiu de um desconhecido que testou meu form.

 

É mais uma que aprendo. :D (tão bom)

 

Dou retorno.

 

 

 

Abraços

 

 

 

ps: só agora me dei conta que chamei 'espaço' de backspace. Sorte que o Eder nem reparou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço por compartilhar brunobispo.

 

 

Esta curiosidade surgiu de um desconhecido que testou meu form.

 

É mais uma que aprendo. :D (tão bom)

 

Dou retorno.

 

Abraços

 

ps: só agora me dei conta que chamei 'espaço' de backspace. Sorte que o Eder nem reparou.

 

Formulou sua pergunta errado, e ainda respondeu rudemente, quando perguntei, porque justamente não entendi o porque do backspace...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Matheus eu postei o link com o form e 'backspace', até onde eu saiba, não é caractere válido.

 

B) (na próxima eu anexo um desenho pra facilitar)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Matheus eu postei o link com o form e 'backspace', até onde eu saiba, não é caractere válido.

 

B) (na próxima eu anexo um desenho pra facilitar)

 

É porque você ainda nao sabe de nada, porque o backspace é muito útil posso pegar pelo keyCode e tranquilamente fazer meio mundo de coisa com ele. Da proxima vez use o desenho antes de fazer a pergunta , quem sabe assim você não erra na hora de perguntar.

 

http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

 

Só uma brincadeirinha aqui com o uso do backspace

 

override protected function keyDownHandler(event:KeyboardEvent):void{
            var codigoTecla:int = event.keyCode; 
            Alert.show(codigoTecla.toString());
            var quantidadeCaracteres:int = textField.text.length; 
                                                                 
            if(codigoTecla == Keyboard.ENTER){ 
                dispatchEvent(new FlexEvent(FlexEvent.ENTER));
            }else if( codigoTecla != 8 ){
                if(quantidadeCaracteres ==3){
                    
                    textField.replaceText(quantidadeCaracteres, quantidadeCaracteres, ".");
                    
                    textField.setSelection(textField.text.length, textField.text.length);
                }
                
                if(quantidadeCaracteres == 7){
                	 textField.replaceText(quantidadeCaracteres, quantidadeCaracteres, ".");
                	 textField.setSelection(textField.text.length, textField.text.length);
                }
                if(quantidadeCaracteres == 11){
                	 textField.replaceText(quantidadeCaracteres, quantidadeCaracteres, "-");
                	 textField.setSelection(textField.text.length, textField.text.length);
                }
            }
        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim meu querido, mas não estou usando KeyboardEvent em um form de email.

 

Agora, peço a gentileza de deixar que eu me entenda com o auxílio que o Eder e o brunobispo generosamente me ofereceram.

 

O desenho aqui não é necessário.

 

 

Abs :P

 

 

 

ps: Eder e brunobispo, peço desculpas, estou aqui para aprender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o exemplo do brunobispo, que já resolve o seu problema

 

o que eu mostrei com split e join, era só uma maneira de simular um str_replace(), pois o ActionScript não tem essa função

 

 

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ brunobispo

 

Muito obrigada ficou perfeito. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Sem sua ajuda ia demorar um bocado, pelo conhecimento que me falta adquirir.

 

Não foi por falta de pedir orientação ao meu instrutor. Em 40 hs é só o básico mesmo.

 

Observo que alguns se ocupam com a validação apenas para o campo de email, boa parte se dispõe com os demais campos, e raríssimos em não permitir que apenas o uso da barra de espaços confirme o envio da mensagem.

 

 

 

 

@ Eder

 

Ontem quando você mencionou os métodos split e join, ainda foi possível acessar o Help do CS4 em português (motivo pelo qual mantenho instalado no PC), cursor entre o termo ia direto, embora gerando arquivos pelo CS5.

 

Hoje a coisa mudou, só é possível acessar o Help do CS5 apenas em inglês, mesmo usando o CS4, e não acessa mais diretamente o termo. O curso de inglês eu já comecei, aguardo data para um de lógica (decente).

 

Você me chamou a atenção para o uso conjunto de dois métodos e eu vou buscar compreender.

 

Agradeço demais pela sua atenção. :D

 

 

 

 

Obrigada também ao curioso anônimo que foi lá furungar, sem ele eu talvez eu nem me ligasse nisso tão cedo.

(agora meu form bala só falta falar) :lol:

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.