Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   siocrono/asincrono a la vez? (http://www.forosdelweb.com/f127/siocrono-asincrono-vez-581966/)

killerangel 01/05/2008 10:33

siocrono/asincrono a la vez?
 
Hola:
Siento cansarlos a cada rato con mis preguntas. Miren tengo un form q mediante ajax me verifica la existencia del nombre de usuario, mediante otro ajax me pone codigos captcha y guarda el codigo en variable de sesion y ahora le pongo los mensajes de validacion de formulario para datos y demas...

Cuando envio el formulario tengo q validar nuevamente si el nombre de usuario existe y si el codigo sigue siendo correcto, ademas de los otros campos.... Como hago esto? osea si el script de validacion de usuario y verificacion de codigo son asincronos y sus respuestas pueden ser temporalmente independientes.. como los evaluo? acaso sincronicamente?

grax.

GatorV 01/05/2008 11:05

Re: siocrono/asincrono a la vez?
 
Hola killerangel,

La idea en este caso es que manejes un "form state" es decir una bandera que te indique si tu formulario ya esta listo, validado y preparado para ser enviado, así puedes primero validar unas cosas, y ya que veas que el formulario es "valido" haces el envío vía AJAX para registrar.

Saludos.

killerangel 01/05/2008 11:47

Re: siocrono/asincrono a la vez?
 
hola:

Gracias por la respuesta. Voy a investigar ahorita mismo.

killerangel 01/05/2008 17:00

Re: siocrono/asincrono a la vez?
 
Hola GatorV.

Denuevo por acá... estube leyendo algo pero la verdad no encontré mucho del tema, al menos nada queme sirviera.

Tal vez podrias hecharme una mano y pasarme un linck o algo por q la verdad en eso de form state estoy perdido y no puedo avanzar mas si no hago que me falta. gracias!!

Ha me olvidava... estube pensando que lo que podría hacer es una funcion que evalua por tiempos el formulario, es decir, que al llamar a la parte de validacion de usuario, tenga q pasar 3 segundos para poder hacer la siguiente validacion y lo mismo para la parte del codigo de verificacion- digo 3 segundos xq en una base de datos muy grande demoraria la busqueda ese tiempo (o es menos??? cuanto demoraria una busqueda asi?) pero creo q este procedimiento no me ayuda mucho y la espera de los usuarios podria ser una molestia para ellos.

Gracias...

GatorV 02/05/2008 09:14

Re: siocrono/asincrono a la vez?
 
Hola killerangel,

Lo que te digo es algo así:
Código:

<script type="text/javascript">
var formaValida = false;
function sendAjaxForm() {
      if( !formaValida ) {
                alert( "La forma no esta validada todavía, no se puede enviar" );
                return;
      }
       
        // Envias la forma por AJAX normal
}
</script>

Es decir, ejecutas tus validaciones y hasta que tu explicitamente cambies en una función:
Código:

formaValida = true;
No se podrá enviar el formulario completo.

Saludos.

killerangel 03/05/2008 21:50

Re: siocrono/asincrono a la vez?
 
Hola estimado GatorV.

Pues mira que justamente esto estube haciendo para validar campos de texto, options, etc... ahora voy a ver la aplicacion de este metodo para la validacion de envios al servidor y comprovacion de variables de sesion.

Por lo pronto estare viendo que problemas pueden presentarse y espero me permitas molestarte nuevamente con alguna duda que se me presente.

Por lo pronto espero poder hacer la banderas necesarias para poder hacer toda la validacion.

Gracias por tu apoyo. :-)

killerangel 04/05/2008 09:02

Re: siocrono/asincrono a la vez?
 
Hola otra vez.

Pude solucionar mi problema....

Lo que hago es llamar primero a la funcion queme valida los campos del formulario que ha introducido el usuario, una vez que termina todo esto llamo a la funcion de validacion de disponibilidad de nombre de usuario. Dentro de la misma cuando ya arroja el resultado llamo a otra funcion (la del captcha) para ver si el codigo introducido es correcto.

mantengo siempre 2 variables globales:

Una para ver si deseo validar solo el formulario o no, esto me servira para cuando verifique el nombre de usuario codigo de seguridad por separado.
Y la otra para controlar los errores producidos en la validacion en cualquier parte de toda la funcion asiganandole "false" y verificando al final de todas las validaciones si la variable es true (como su decalracion inicial) yenviar el formulario o false (si detecto erro en alguna parte) y cancelar el envio mostrando un mensaje de aviso.

Creo que esto no es muy deslumbrante sino obvio pero tube que pensar un pokito para poder unir las funciones que encontre por separado de nombres de usuario, codigos y otros campos del formulario.

Como dijiste una vez, estimado GatorV, es mejor hacer la validacion de fomulario de acuerdo a tus necesidades y ver la mejor forma de como adaptar lo que la red te ofrece.

Creo que el tema esta completo y se puede cerrar.

GRACIAS!!! :-)


La zona horaria es GMT -6. Ahora son las 05:40.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.