Foros del Web » Programando para Internet » Jquery »

Metodología: Validar formulario en php -> respuesta devuelta mediante ajax - jquery

Estas en el tema de Metodología: Validar formulario en php -> respuesta devuelta mediante ajax - jquery en el foro de Jquery en Foros del Web. Necesito validar y procesar datos de un formulario en el servidor utilizando PHP y las respuesta de la validación devolverlas mediante ajax, utilizando Jquery. (Sin ...
  #1 (permalink)  
Antiguo 05/11/2012, 14:08
 
Fecha de Ingreso: diciembre-2002
Ubicación: Toledo
Mensajes: 27
Antigüedad: 22 años
Puntos: 0
Metodología: Validar formulario en php -> respuesta devuelta mediante ajax - jquery

Necesito validar y procesar datos de un formulario en el servidor utilizando PHP y las respuesta de la validación devolverlas mediante ajax, utilizando Jquery.
(Sin problema en validar datos con PHP, el problema es devolver el resultado de la validación mediante ajax con jquery. No debatir el porqué lo hago en el servidor y no en el cliente, eso es otra historia.)

Las posibles respuesta de la validación:

-Error: En caso de no pasar la validación, la respuesta de error es mostrada en una capa DIV específica para ello.
-Éxito: En caso de pasar la validación, la respuesta de éxito seria mostrada en la capa DIV contenedora del formulario, quedando el formulario oculto.

Espero que se entienda ...
  #2 (permalink)  
Antiguo 06/11/2012, 08:20
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 11 meses
Puntos: 206
Respuesta: Metodología: Validar formulario en php -> respuesta devuelta mediante ajax

Devuelve un objeto JSON con dos atributos: status, donde contendrá si ha habido éxito o error; y text, donde irá el mensaje a mostrar.

Si ya sabes programar, verás que es muy sencillo de usar. Es la forma que tiene javascript de encapsular un objeto en una cadena string, ligeramente parecido al SERIALIZABLE de java. EL PHP escribe esa cadena con formato de JSON como única respuesta, y cuando un AJAX la recupere, puedes decirle a javascript que la interprete como un objeto y recorrer sus atributos con objeto.miAtributo.

Cada atributo puede ser del tipo que quieras. String, booleano, entero, decimal, expresión regular, incluso arrays y otros objetos JSON.
  #3 (permalink)  
Antiguo 06/11/2012, 10:32
 
Fecha de Ingreso: diciembre-2002
Ubicación: Toledo
Mensajes: 27
Antigüedad: 22 años
Puntos: 0
Respuesta: Metodología: Validar formulario en php -> respuesta devuelta mediante ajax

Ok... gracias marlanga.

Empiezo ahora escribir código.

JSON... Buena pista, ya se por donde empezar.

Gracias de nuevo.
  #4 (permalink)  
Antiguo 06/11/2012, 12:13
 
Fecha de Ingreso: diciembre-2002
Ubicación: Toledo
Mensajes: 27
Antigüedad: 22 años
Puntos: 0
Respuesta: Metodología: Validar formulario en php -> respuesta devuelta mediante ajax

Bueno... creo que ya esta listo, dejo el código para su evaluación.

procesar.php
Código PHP:
if(empty($_POST['nombre'])){
    
    
$salida['error'] = 'Error campo nombre vacio';   
    echo  
json_encode($salida);
    
    }else{
    
    
$salida['exito'] = 'Nombre: '.$_POST['nombre'];
    echo  
json_encode($salida);
 } 
El formulario y el el Jquery.

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $('#formulario').submit(function(evento){
  4.             evento.preventDefault();
  5.             var formulario = $(this).serialize();        
  6.                 $.ajax({
  7.                 url: 'procesar.php',
  8.                 data: formulario,
  9.                 type: 'POST',
  10.                 dataType: 'json',
  11.                 success: function(datos){
  12.               $('#resultado').text(JSON.stringify(datos, null, 1)); // Salida JSON
  13.               $('#div-formulario').text(datos.exito).fadeIn('slow'); // Mensaje de respuesta. OK
  14.               $('#error').text(datos.error).fadeIn('slow'); // Mesaje de error en validacion
  15.             }
  16.                     });
  17.              
  18. });
  19.  });  
  20. </script>


Código HTML:
Ver original
  1. <div id="div-formulario"> <!-- Mensaje de respuesta. OK -->
  2. <div id="error"></div> <!-- Mesaje de error en validacion -->
  3.  
  4. <form id="formulario" method="post">
  5. <input type="text" id="nombre" name="nombre" placeholder="Su nombre">
  6. <input type="submit" value="Enviar">
  7. </form>
  8. </div>
  9. <div id="resultado"></div> <!-- Salida JSON -->

Última edición por AngelFelix; 06/11/2012 a las 12:20

Etiquetas: ajax, formulario, mediante, php, respuesta
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 09:19.