Ir ao conteúdo
  • Cadastre-se
fdsmello

Validação jvascript

Posts recomendados

Tenho esse Arquivo no javaScript com essa função.

 

function teste(e)
	{
		var expressao;

		expressao = /[a-zA-Z]/;

		if(expressao.test(String.fromCharCode(e.keyCode)))
		{
			return true;
		}
		else
		{
			return false;
		}
	}

 

E tenho isso no xhtml. Chamo  arquivo JavaScript.

 

<script type="text/javascript" src="assets/js/validacaoLetraseEspaco.js"></script>


<p:outputLabel for="nome" value="Nome" />
<p:inputText size="25" maxlength="25" id="nome" placeholder="Insira o Nome"
required="true" style="width:90%;"
validatorMessage="Campo obrigatorio" 
onkeypress="return validacaoLetraseEspaco(event)" >
  </p:inputText>	

Só que não ta pegando o campo esta aceitando números. Era só para aceitar só letras.

Alguém ajuda

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico movido de Java para Web

 

@fdsmello Primeiramente  o javascript é diferente de java. são duas linguagens diferentes.

 

Sobre seu código creio que o erro está na expressão regular.

Contudo, você fazer seu código em jQuery que fica mais fácil.

 

Importe o jquery com o o comando:

 

<script type="text/javascript" src="assets/js/validacaoLetraseEspaco.js"></script>

 

Depois crie um arquivo .js chamado validador.js

com o seguinte conteúdo e chame como o jquery.

 

jQuery.fn.validaTexto = function( settings ){
	var $this = jQuery( this );
	var defaults = {
		pattern: /[^0-9]/,
		replacement: ''
	}
	settings = jQuery.extend(defaults, settings);

	$this.keyup(function(){
		var new_value = $this.val().replace( settings.pattern, settings.replacement );
		$this.val( new_value );
	});
	return $this;
}

é a criação de um plugin jquery para validar o texto.

Agora para usar é só chamar a função:

 

$(document).ready(function(){
	$("#elemento").validaTexto({ pattern: /[^a-zA-Z]+/g });
});

Então no seu caso, o código completo ficaria assim:

 

<script type="text/javascript" src="assets/js/jquery.js"></script>
<script type="text/javascript" src="assets/js/validador.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$("#nome").validaTexto({ pattern: /[^a-zA-Z]+/g });
	});


</script>

<p:outputLabel for="nome" value="Nome" />
<p:inputText size="25" maxlength="25" id="nome" placeholder="Insira o Nome"
required="true" style="width:90%;"
validatorMessage="Campo obrigatorio">
  </p:inputText>	

Repare que o onkeypress foi retirado,  pois o plugin já faz isso.

 

Veja o código funcionando: https://jsfiddle.net/x5sryv5j/

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Este tópico está parado há muito tempo. Certifique-se que a sua mensagem tem a ver com o tema sendo discutido. Obrigado.

Junte-se à conversa

Você pode postar agora e cadastrar-se depois. Se você tem uma conta, faça o login para postar.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restore formatting

  Só é possível ter até 75 emoticons.

×   O link foi automaticamente convertido para mostrar o conteúdo.   Clique aqui para mostrá-lo como link comum

×   Seu texto anterior foi restaurado.   Limpar o editor

×   You cannot paste images directly. Upload or insert images from URL.






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!