Foros del Web » Programando para Internet » Javascript »

Validar DNI antes de cargarlo en la BD

Estas en el tema de Validar DNI antes de cargarlo en la BD en el foro de Javascript en Foros del Web. Hola, Alguien me puede tirar alguna idea o decir dónde puedo leer sobre la validación de un DNI antes de que sea cargado en la ...
  #1 (permalink)  
Antiguo 20/06/2012, 08:40
 
Fecha de Ingreso: abril-2012
Mensajes: 54
Antigüedad: 12 años, 7 meses
Puntos: 0
Validar DNI antes de cargarlo en la BD

Hola,
Alguien me puede tirar alguna idea o decir dónde puedo leer sobre la validación de un DNI antes de que sea cargado en la bd.
Ósea necesito que si el DNI ya está cargado no me deje cargarlo de nuevo…
Gracias
  #2 (permalink)  
Antiguo 20/06/2012, 21:47
Avatar de iukaeru  
Fecha de Ingreso: mayo-2012
Mensajes: 127
Antigüedad: 12 años, 6 meses
Puntos: 12
Respuesta: Validar DNI antes de cargarlo en la BD

Para lo que buscas (una consulta dinámica) la solución es AJAX.
  #3 (permalink)  
Antiguo 21/06/2012, 06:02
 
Fecha de Ingreso: abril-2012
Mensajes: 54
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Validar DNI antes de cargarlo en la BD

Ok... Gracias...
__________________
Majo
  #4 (permalink)  
Antiguo 02/07/2012, 08:40
 
Fecha de Ingreso: abril-2012
Mensajes: 54
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Validar DNI antes de cargarlo en la BD

Hola tal como me lo indicaste comencé a ver algo de ajax para poder solucionar mi problema…
Encontré un ejemplo para validar usuario y lo trate de adaptar

Archivo existedni.php
Código PHP:
Ver original
  1. <?php
  2. require_once('conexion/bd.php');
  3.    $dni = $_GET["dni"];
  4. header('Content-type: text/xml');
  5.    if ($dni != "00000000") {
  6.      echo("<?xml version=\"1.0\" ?><existe>true</existe>");
  7.    } else {
  8.      echo("<?xml version=\"1.0\" ?><existe>false</existe>");
  9.    }  
  10. ?>

Arichivo editar_clientes.php

Código PHP:
Ver original
  1. <script type="text/javascript">
  2. var req; var respuesta;
  3. function leer_doc(url) {
  4.   req = false;
  5.  if (window.XMLHttpRequest) {
  6.    req = new XMLHttpRequest();
  7.    if (req.overrideMimeType) {
  8.      req.overrideMimeType('text/xml');    }
  9. } else if (window.ActiveXObject) {
  10.    req = new ActiveXObject("Microsoft.XMLHTTP");
  11.  }
  12.  if (req!=null){
  13.    req.onreadystatechange = procesarRespuesta;
  14.    req.open('GET', url, true);
  15.    req.send(null);
  16.  }  
  17. }
  18. function autentica(){
  19.  dni = document.getElementById(dni_<?php echo $cnt1; ?>).value;
  20.  url = "/sistema/existedni.php?dni=" + dni_<?php echo $cnt1; ?>;
  21.  leer_doc(url);
  22. }
  23. function procesarRespuesta(){
  24.  respuesta = req.responseXML;
  25.  var existe = respuesta.getElementsByTagName('existe').item(0).firstChild.data;
  26.    if (existe=="true")
  27.     document.getElementById("error").style.visibility = "visible";
  28.    else
  29.     document.getElementById("error").style.visibility = "hidden";
  30. }
  31. </script>
  32. <form name="form1" method="post" action="">
  33.    <input type="text" id="dni" onChange="return autentica();"> <span id="error" style="font-family: Verdana, Arial, Helvetica,sans-serif;font-size: 12pt;color: #CC3300;position:relative;visibility:hidden;"><span id="error2" style="font-family: Verdana, Arial, Helvetica,sans-serif;font-size: 12pt;color: #CC3300;position:relative;visibility:hidden;">DNI Ocupado ¡¡¡</span></span><br/>  
  34.    <input type="submit" name="Submit" value="Enviar">
  35. </form>

Pero no está funcionando no encuentro por que...desde ya gracias por tu ayuda… saludos
__________________
Majo
  #5 (permalink)  
Antiguo 02/07/2012, 08:46
 
Fecha de Ingreso: abril-2012
Mensajes: 54
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Validar DNI antes de cargarlo en la BD

Te subo bien los dos archivos porque los otros estaban mal..
Código HTML:
Ver original
  1. Archivo existe.php
  2. <?php
  3. require_once('Conexion/bd.php');
  4.   $dni = $_GET["dni"];
  5. header('Content-type: text/xml');
  6.   if ($dni != "00000000") {
  7.     echo("<?xml version=\"1.0\" ?><existe>true</existe>");
  8.    } else {
  9.      echo("<?xml version=\"1.0\" ?><existe>false</existe>");
  10.    }  
  11. ?>
  12.  
  13. Arichivo editar_clientes.php
  14.  
  15. <script type="text/javascript">
  16. var req;
  17. var respuesta;
  18.  
  19. function leer_doc(url) {
  20.  
  21.  req = false;
  22.  
  23.  // Llama objeto XMLHttpRequest
  24.  if (window.XMLHttpRequest) {
  25.    req = new XMLHttpRequest();
  26.    if (req.overrideMimeType) {
  27.      req.overrideMimeType('text/xml');
  28.    }
  29.  
  30.  // Si no funciona intenta utiliar el objeto IE/Windows ActiveX
  31.  } else if (window.ActiveXObject) {
  32.    req = new ActiveXObject("Microsoft.XMLHTTP");
  33.  }
  34.  
  35.  if(req!=null){
  36.    req.onreadystatechange = procesarRespuesta;
  37.    req.open('GET', url, true);
  38.    req.send(null);
  39.  }  
  40. }
  41. function autentica(){
  42.  dni = document.getElementById(dni).value;
  43.  url = "/sistema/existedni.php?dni=" + dni;
  44.  leer_doc(url);
  45. }
  46. function procesarRespuesta(){
  47.  respuesta = req.responseXML;
  48.  var existe = respuesta.getElementsByTagName('existe').item(0).firstChild.data;
  49.    if (existe=="true")
  50.     document.getElementById("error").style.visibility = "visible";
  51.    else
  52.     document.getElementById("error").style.visibility = "hidden";
  53. }
  54.  
  55. <form name="form1" method="post" action="">
  56.    <input type="text" id="dni" onChange="return autentica();"> <span id="error" style="font-family: Verdana, Arial, Helvetica,sans-serif;font-size: 12pt;color: #CC3300;position:relative;visibility:hidden;"><span id="error2" style="font-family: Verdana, Arial, Helvetica,sans-serif;font-size: 12pt;color: #CC3300;position:relative;visibility:hidden;">DNI Ocupado ¡¡¡</span></span><br/>  
  57.    <input type="submit" name="Submit" value="Enviar">
  58. </form>
__________________
Majo

Etiquetas: bd, dni
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 16:45.