Foros del Web » Programando para Internet » Javascript »

Funcion para validar formulario

Estas en el tema de Funcion para validar formulario en el foro de Javascript en Foros del Web. Tengo estas funciones para validar campos del formulario por separado las he probado y funcionan pero para que se comprueben las dos a la vez ...
  #1 (permalink)  
Antiguo 09/12/2009, 11:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Funcion para validar formulario

Tengo estas funciones para validar campos del formulario por separado las he probado y funcionan pero para que se comprueben las dos a la vez no se como hacerlo.
Antes tenia puesto esto, pero tampoco iba

Código PHP:
      <form action="php/registrocliente.php" method="POST" name="formulario" onSubmit="return validarTexto(this) && validarNumeros(this)"
Y tal como esta ahora tampoco comprueban las dos, que hago mal?

Código:
function validarTexto(formulario)
{
	nom=document.formulario.nombre.value
	ape=document.formulario.apellidos.value
	pais=document.formulario.pais.value

	if (!(/^[a-z]+$/i.test(nom))) 
	{
	    alert('Introduce solo texto en el campo nombre.')
   	 	document.formulario.nombre.focus()
	  	return false
	}

	if (!(/^[a-z]+$/i.test(ape))) 
	{
	    alert('Introduce solo texto en el campo apellidos.')
	    document.formulario.apellidos.focus()
	  	return false
	}
	
	if (!(/^[a-z]+$/i.test(pais))) 
	{
	    alert('Introduce solo texto en el campo pais.')
	    document.formulario.pais.focus()
	  	return false
	}
	return true
}


function validarNumeros(formulario)
{
  	tel=document.formulario.telefono.value
	mov=document.formulario.movil.value
	
	if (!(/^\d+$/i.test(tel)))
	{
	    alert('Introduce solo numeros en el campo telefono.')
	    document.formulario.telefono.focus()
	  	return false
	}
	
	if (!(/^\d{9}$/i.test(mov)))
	{
	    alert('Introduce solo numeros en el campo movil y de 9 cifras.')
	    document.formulario.movil.focus()
	  	return false
	}
	return true;

}

function validar(formulario)
{
	if(validarNumeros(formulario)==false){
      alert("ERROR.");  
	}

	if(validarTexto(formulario)==false){
      alert("ERROR.");  
	}
}
Código PHP:
      <form action="php/registrocliente.php" method="POST" name="formulario" onSubmit="return validar(this)"
  #2 (permalink)  
Antiguo 09/12/2009, 18:33
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Funcion para validar formulario

Y pone todo en una misma funcion y listo =)
  #3 (permalink)  
Antiguo 09/12/2009, 23:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Funcion para validar formulario

Hola:

Donde debes de asegurarte que entregue un valor lógico es en la función valida...

Código:
Código:
function validar(formulario)
{
	 enviar = (validarNumeros(formulario) || validarTexto(formulario))
         if (!enviar)      alert("ERROR."
	return enviar;
}
Otra cosa es que si usas en las validaciones el formulario como parámetro, sería más lógico que usaras ese parámetro...

Código:
function validarTexto(f)
{
	nom= f.nombre.value
///// así tu función es fñacilmente reutilizable...
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 14/12/2009, 06:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Funcion para validar formulario

He probado las dos formas que me habeis dicho pero sigue sin funcionarme
No me valida la funcion. Que estoy haciendo mal??

Código:
function validar(formulario)
{
	tel=formulario.telefono.value
	mov=formulario.movil.value
	
	if (!(/^\d+$/i.test(tel)))
	{
	    alert('Introduce solo numeros en el campo telefono.')
	    formulario.telefono.focus()
        	return false
	}
	
	if (!(/^\d{9}$/i.test(mov)))
	{
	    alert('Introduce solo numeros en el campo movil y de 9 cifras.')
	    formulario.movil.focus()
	  	return false
	}

	nom=formulario.nombre.value
	ape=dformulario.apellidos.value
	pais=formulario.pais.value

	if (!(/^[a-z]+$/i.test(nom))) 
	{
	    alert('Introduce solo texto en el campo nombre.')
   	    formulario.nombre.focus()
	  	return false
	}

	if (!(/^[a-z]+$/i.test(ape))) 
	{
	    alert('Introduce solo texto en el campo apellidos.')
  	    formulario.apellidos.focus()
	  	return false
	}
	
	if (!(/^[a-z]+$/i.test(pais))) 
	{
	    alert('Introduce solo texto en el campo pais.')
	    formulario.pais.focus()
	  	return false
	}
	return true
		
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:09.