Foros del Web » Programando para Internet » Javascript »

Validar que el nombre de usuario esté disponible

Estas en el tema de Validar que el nombre de usuario esté disponible en el foro de Javascript en Foros del Web. hola tengo una aplicacoin donde se registran usuarios... tenia pensado cargar todos los usuarios en variables js y asi cuando el usuario envie el form ...
  #1 (permalink)  
Antiguo 07/07/2008, 20:00
Avatar de mauricioadrian  
Fecha de Ingreso: junio-2008
Mensajes: 157
Antigüedad: 15 años, 10 meses
Puntos: 0
Validar que el nombre de usuario esté disponible

hola tengo una aplicacoin donde se registran usuarios... tenia pensado cargar todos los usuarios en variables js y asi cuando el usuario envie el form le mande un alert si no esta disponible ese usuario.

el tema es que no eh encontrado a nadie que lo haga de esta manera, hasta que cantidad de usuarios consideran que este metodo puede servir?
  #2 (permalink)  
Antiguo 08/07/2008, 00:49
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: Validar que el nombre de usuario esté disponible

si no quieres cargar todos los usuarios puedes utilizar ajax, pasate por el foro f77 ;)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 08/07/2008, 05:42
Avatar de mauricioadrian  
Fecha de Ingreso: junio-2008
Mensajes: 157
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Validar que el nombre de usuario esté disponible

si calcule que me iban a arecomendar ajax pero no lo he usado nunca, por eso preguntaba por js.
  #4 (permalink)  
Antiguo 08/07/2008, 06:59
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Validar que el nombre de usuario esté disponible

imaginate que tienes 10000 usuarios... cargarías esa gran cantidad de variables en js???

te parece algo factible???

en efecto, ajax es lo mas factible, y si no, retorna valores despues de enviar el form...

y si no usas ajax.... te recomiendo que lo hagas...

salu2
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #5 (permalink)  
Antiguo 08/07/2008, 21:01
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: Validar que el nombre de usuario esté disponible

Se puede hacer sin problemas supongo, siempre que el número de usuarios no sea muy elevado, como dice killerangel. Si tienes 10.000 usuarios, a una media de 8 caracteres por usuario (por ejemplo) tendríamos una cadena de 80.000 caracteres. Un poco bestia, pero creo que todavía no se nos va de escala.

Que no sea por buscar los nombres en esa cadena: Acabo de probar una cadena de 300.000 caracteres y el tiempo de búsqueda es inapreciable. Supongo que lo que te interesa valorar es que tendrás que enviar desde el servidor al cliente 80.000 caracteres, osea 80.000 bytes = 78'125kB. Es una pequeña imagen.

La solución no te valdrá para toda la vida si sigues aumentando de número de usuarios, pero si tienes un sitio pequeño puede funcionar. La ventaja es que sería más rápido que AJAX para el cliente, y tendrás menos peticiones al servidor. La desventaja es la transferencia extra que gastarás, que tampoco me parece exagerada.

Lo dicho, según velocidad de javascript no he encontrado límite, el límite sería tu servidor. Si tu número de usuarios llega a un millón tendríamos entonces 1.000.000 bytes = casi 1 mb (0'95mb), donde ya sería ilógico cargarlos. El tiempo de carga para el cliente será otro factor limitador.



Saludos!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #6 (permalink)  
Antiguo 09/07/2008, 00:22
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Validar que el nombre de usuario esté disponible

derkenuke, me impresionan tus cálculos [es en serio]. Por cierto, se me hace curiosos que uses puntos (.) para separar los millares y apostrofes (') para separar los decimales. Nosotros en México usamos puntos para separar los decimales y comas(,) para los millares, curioso no?

Mauricioadrian, decídete por ajax. Veras que es muy sencillo. Solo tienes que definir el objeto XMLhttpRequest y enviar la petición. Te digo lo mismo que me dijo hoy el dentista, "No te va doler nada".
__________________
twitter: @imbuzu
  #7 (permalink)  
Antiguo 09/07/2008, 17:58
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Validar que el nombre de usuario esté disponible

En cuanto al tema de js... creo q debe tenerse en cuenta el tamaño del mismo ya q no carga paralelo a otros contenidos que use la web... en cuanto a los separadores.... se comprende la idea en todo caso... es lo de menos y discutase en un foro de numeracion... ( sin animos de ofender)..

salu2
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red

Última edición por killerangel; 09/07/2008 a las 22:56
  #8 (permalink)  
Antiguo 09/07/2008, 18:45
Avatar de oswalgogra  
Fecha de Ingreso: septiembre-2007
Ubicación: En algún lugar del territorio Colombiano
Mensajes: 140
Antigüedad: 16 años, 7 meses
Puntos: 5
Información Respuesta: Validar que el nombre de usuario esté disponible

Hola,
Yo he hecho eso, y nunca me pasó por la cabeza hacerlo solo con javascript, es mejor que uses una librería ajax.

Suerte
__________________
Oswaldo: El que gobierna con el poder de Dios.
  #9 (permalink)  
Antiguo 10/07/2008, 01:10
Avatar de mauricioadrian  
Fecha de Ingreso: junio-2008
Mensajes: 157
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Validar que el nombre de usuario esté disponible

me apacionaron los calculos de derkenuke , conclucion : lo voy a hacer en primera instancia con js, ya que si bien ustedes calculaban un promedio de 10 000 usuarios. hay que pensar que los diezmil usuarios no se van a estar registradon a cada rato. y que solo lo van a hacer una vez ( o a lo sumo dos o tres ) y la perdida de rendimiento he llegado a la conclucion que salvo en sitios muy grandes. No creo que tenga problemas. Igual... No soy de esos que mueren con la suya.jej voy a empesar a chusmear ajax
muchas gracias por todos sus comentarios.
  #10 (permalink)  
Antiguo 10/07/2008, 01:30
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Validar que el nombre de usuario esté disponible

Cita:
es mejor que uses una librería ajax.
Para que habría de usar una librería si es cuestión de unas lineas nada mas. Lo único que se requiere es hacer una llamada al servidor para que consulte la base de datos y regrese true o false dependiendo de si el nombre esta en la base de datos o no.

mauricioadrian, ya que te has decidido por javascript, te sugeriría que uses ya sea un array o JSON para poder hacer un loop que recorra todo el array u objeto y te sea mas fácil localizar el nombre en el caso de que esté repetido.
__________________
twitter: @imbuzu
  #11 (permalink)  
Antiguo 10/07/2008, 06:15
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: Validar que el nombre de usuario esté disponible

Cita:
Iniciado por buzu Ver Mensaje
mauricioadrian, ya que te has decidido por javascript, te sugeriría que uses ya sea un array o JSON para poder hacer un loop que recorra todo el array u objeto y te sea mas fácil localizar el nombre en el caso de que esté repetido.
Yo te sugiero que utilices un string plano, una cadena que no tenga estructura, ya que los métodos nativos como indexOf() o search() (expresión regular) son mucho más rápidos que hacer cualquier tipo de bucle.

Además, es la manera más fácil.

Código PHP:
var usuarios = "<?echo $todosLosUsuarios ?>";
-----------
<input type="text" onkeyup="document.getElementById('miCapa').innerHTML = usuarios.indexOf(this.value)>-1 ? 'bien' : 'mal' " />
<div id="miCapa"></div>
De esta manera con el javascript habríamos terminado.


Incluso me estoy planteando que si sabemos que vamos a tener 100 usuarios y no más es rebuscado usar AJAX. Pero claro, pocas veces se da ese caso.


__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 22:52.