Ir ao conteúdo
  • Cadastre-se

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

 

Link para o comentário
Compartilhar em outros sites

  • Moderador

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/

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...