Ir para conteúdo

POWERED BY:

Arquivado

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

speedphill

Validar formulário com jquery

Recommended Posts

Olá pessoal,

 

Estou com um problema meio complicado (pelo menos pra mim está).

Segue um código que estou criando para tentar validar os campos de um formulário sem criar critérios para cada um input.

 

<script language="javascript">
	
$('#BotaoSubmit').click(function (){
	$('#FormContato').find("label.required");
	var id_input = '#' + $(this).attr('for');
	if($(this).attr('for')=="E-mail") {
		if($(id_input).val() == "" || $(id_input).val().indexOf('@' )== -1 || $(id_input).val().indexOf('.') == -1 ) {
			alert( "Preencha campo E-MAIL corretamente!" );
			$(id_input).focus();
			return false;
		}
	} else {
		if($(this).value=="") {
			alert( "Preencha campo " + $(this).attr('for') + " corretamente!" );
			$(id_input).focus();
			return false;
		}
	}
});
	
</script>

Exemplo:

 

Eu tenho um form com os campos:

 

Nome: (Classe .required na label)

E-mail: (Classe .required na label)

Telefone:

Mensagem: (Classe .required na label)

 

Obs.: coloquei a classe na label pois ela adiciona um negrito ao campo obrigatório.

 

Assim que o formulário fosse submetido o script teria que localizar as labels com a class .required, pegar o input vinculado a label e validá-lo.

 

Adicionei um if apenas se caso o input for um e-mail fazer uma validação um pouco mais detalhada.

 

Espero ter dito da forma mais clara possível e que alguém me ajude! rs...

 

E se alguém tem alguma solução que seja próxima disso e possa ajudar será muito bem-vinda.

 

Grande abraço a todos. Valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o this que você está usando, se refere ao formulário0, por tanto não faz sentido, oque você fez.

 

depois de selecionar os elementos que você quer, veja sobre o método .each()

acredito que com ele, você vai conseguir fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não seria melhor validar quando o formulário fosse enviado, com o evento onSubmit?

 

$("form").submit(function() {
	// CODIGO
});
Aí sim você pode usar o this para pegar informações do "formulário".

 

O resto é simples, apenas validação de value. Eu recomendo utilizar um script mais complexo para a validação de e-mail, dê uma olhada na expressão regular deste site.

 

Até mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra que reinventar a roda?

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://docs.jquery.com/Plugins/Validation

 

Se está fazendo como aprendizado, beleza, eu também já me aventurei a fazer isso, mas se é pra utilizar em algum projeto é melhor usar as ferramentas já prontas...

 

Esse plug-in só falta assobiar e chupar cana ao msm tempo, uso e recomendo...

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.