Foros del Web » Programando para Internet » Javascript »

validar datos antes de enviarlos por form

Estas en el tema de validar datos antes de enviarlos por form en el foro de Javascript en Foros del Web. Hola , mi consulta es la sgte: tengo un formulario donde ingreso el rut, nombre, fono y email y son guardados en una base de ...
  #1 (permalink)  
Antiguo 28/03/2007, 13:37
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 3 meses
Puntos: 1
validar datos antes de enviarlos por form

Hola , mi consulta es la sgte:
tengo un formulario donde ingreso el rut, nombre, fono y email y son guardados en una base de datos pero como el rut es un identificador unico, no puedo tener duplicados, por lo que me gustaria hacer que cuando el usuario ingrese el rut este verifique si existe en la base de datos antes del envio.

yo utilizo javascript para validar los datos del formulario la validacion del lado del servidor la hago con php y utilizo sql server.


no se como utilizar javascript para capturar los datos de la base y verificar en el cliente si el rut existe o no..

espero alguna sugerencia gracias..

les dejo el codigo del form:
<html>
<head>
<script language ="JavaScript" type="text/javascript">
<!--
function comprobar(){
if (formu.rut.value == "")
{ alert("Por favor, ingrese su rut, Ej: 61.101.082-6"); formu.correlativo.focus(); return; }

if (formu.presta.value == "")
{ alert("Por favor, ingrese un prestador"); formu.presta.focus(); return; }

if (formu.especial.value == "")
{ alert("Por favor, ingrese una especialidad"); formu.especial.focus(); return; }

if (formu.direc.value == "")
{ alert("Por favor, ingrese una dirección"); formu.direc.focus(); return; }

if (formu.fono.value == "")
{ alert("Por favor, ingrese un teléfono"); formu.fono.focus(); return; }



formu.submit();
}

//-->
</SCRIPT>
</head>
<body>
<form action="codigos/procesa_dato.php" method="POST" name="formu">
<input name="rut" type="text" size="20" maxlength="20">
<input name="nombre" type="text" size="20" maxlength="20">
<input name="fono" type="text" size="20" maxlength="20">
<input name="email" type="text" size="20" maxlength="20">
<button type="button" onClick="comprobar()" style="cursor:hand">
</form>
</body>
</html>
__________________
Cristian...
  #2 (permalink)  
Antiguo 28/03/2007, 15:14
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
Re: validar datos antes de enviarlos por form

Código PHP:
<script>
function 
funcionvalidar(){
    
//Si mi valor de nombre es menor a 4 retorno FALSO y no se ejecuta el SUBMIT
    
if (formulario.nombre.value.length 4) {
        
alert("Escriba por lo menos 4 caracteres en el campo Nombre");
        
formulario.nombre.focus();
        return (
false);
    }
}
</script>

//Esto Colocamos en la etiqueta de <FORM>
<form name=form1 action="pagina2.php" onsubmit="return funcionvalidar(this)"> 
  #3 (permalink)  
Antiguo 28/03/2007, 20:37
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 3 meses
Puntos: 1
Re: validar datos antes de enviarlos por form

gracias por tu respuesta, pero mi consulta es ¿como interactuar javascript con bases de datos mysql o sqlserver? ya que quiero validar el rut desde el cliente, checkeando de esta forma que el rut ingresado en el form sea distinto o no se encuentre en la base de datos para que se pueda completar efectivamente el proceso de inserción..

quizas no me explique adecuadamente, pero esto es lo que busco
gracias nuevamente...espero alguna sugerencia..
__________________
Cristian...
  #4 (permalink)  
Antiguo 28/03/2007, 22:10
 
Fecha de Ingreso: marzo-2006
Mensajes: 137
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: validar datos antes de enviarlos por form

no creo que se pueda consultar la bd sin accesar al servidor... lo mas parecido a lo que tu buscas(hasta donde yo se) es el AJAX....
  #5 (permalink)  
Antiguo 29/03/2007, 10:54
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
Re: validar datos antes de enviarlos por form

Como te indican y el como lo hago yo es a través de Ajax. ahí sobre la Funcion de VALIDACION verificas a través de AJAX y una simple consulta si el RUT ingresado es válido en la BASE DE DATOS, de otra manera tendrás que validarlo luego de hacer el SUBMIT.

Suerte!
  #6 (permalink)  
Antiguo 29/03/2007, 11:49
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 3 meses
Puntos: 1
Re: validar datos antes de enviarlos por form

gracias a todos, el problema que tenia es que el tipo de dato era char(15)
por lo que al validar el rut ingresado con el rut existente en la base de datos
no estaba resultando porque tenia que quitarle los espacion en blanco del rut

use $rut = rtrim($rut) para eliminar los espacios y poder hacer la validacion en el servidor

if ($rut_ingresado == $rut_basedatos){
header(location:formulario);
}

else{
exec grabar etc......
}

era por eso lo de mi consulta para ver otra forma de validar el rut, pero checkeando el tipo de dato del rut en la base me di cuenta que lo podia solucionar de esa forma..osea eliminando los espacios en blanco...

muchas gracias.-
__________________
Cristian...
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 23:32.