SoloCodigo

Programación Web y Scripting => JavaScript => Mensaje iniciado por: elisa44 en Viernes 23 de Junio de 2006, 02:56

Título: Validación De Mail
Publicado por: elisa44 en Viernes 23 de Junio de 2006, 02:56
Hola,
Tengo una tabla dinámica que se llena con un Arraylist, uno de los campos es un mail, tengo la función que valida mail, pero no se como pasarle los parámetros, la idea es que cuando modifico el mail al chequear el checkbox correspondiente me mande un alert si el mail está incorrecto. Ojala alguien pueda ayudarme.
Gracias

PD: no solo tiene que funcionar en el IE, si no también el FireFox.
Título: Re: Validación De Mail
Publicado por: x.cyclop en Viernes 23 de Junio de 2006, 05:28
Código: Text
  1.   if (form.email.value !="")
  2.     {  
  3.       if (form.email.value.indexOf("@") != "-1" && form.email.value.indexOf(".") !="-1" && form.email.value.indexOf(" ")=="-1" &&form.email.value.length>=8)
  4.       // El e-mail es valido
  5.         return true;
  6.       else
  7.         {
  8.       // El e-mail es invalido
  9.       alert("El email no existe");
  10.         return false;
  11.       }
  12.       }
  13.  

¿Eso? :blink:
Título: Re: Validación De Mail
Publicado por: elisa44 en Viernes 23 de Junio de 2006, 14:53
Gracias, pero la función la tengo, el problema es como le paso los parametros, por ejemplo:

"form.email.value.indexOf("@")", cuando mi value es: value="<%=strArray[3]%>" y el id de la fila es id="<%=strArray[0]%>##email" igual el name, y en la fila hay un checkbox, la idea es que de alguna forma dentro del input llamar a la función y cuando selecciono el checkbox me mande el mensaje que el mail esta malo, probe con:
onChange="validaEmail(<%=strArray[3]%>);", tambien con onblur="return validaEmail(<%=strArray[3]%>); y no funciona.
Saludos

PD: tengo el mismo problema con el rut, también tengo la función.
Título: Re: Validación De Mail
Publicado por: ing_marco en Viernes 23 de Junio de 2006, 21:34
Dejame ver si entiendo la IDEA,tienes una tabla, alli mismo hay un text donde puede ingresar el mail, esto lo tienes en un <TD></TD>, en otro <TD></TD> hay un check para que cuando le des click alli se verifique??

Si es asi encontes usaremos DOM para poder entrar en la <TD></TD> y sacar el dato de la caja de texto luego se lo pasas a la funcion que valida y punto.

Empecemos:
hare este ejemplo con una tabla de una fila y 2 columnas
Código: Text
  1. &#60;table&#62;
  2. &#60;tr id=&#34;TR1&#34;&#62;
  3. &#60;td&#62;&#60;INPUT type=&#34;text&#34;&#62;
  4. &#60;/td&#62;
  5. &#60;td&#62;&#60;INPUT type=&#34;checkbox&#34; onclick:Validar(TR1)&#62;
  6. &#60;/td&#62;
  7. &#60;/tr&#62;
  8. &#60;tr id=&#34;TR2&#34;&#62;
  9. &#60;td&#62;&#60;INPUT type=&#34;text&#34;&#62;
  10. &#60;/td&#62;
  11. &#60;td&#62;&#60;INPUT type=&#34;checkbox&#34; onclick:Validar(TR2)&#62;
  12. &#60;/td&#62;
  13. &#60;/tr&#62;
  14. &#60;/table&#62;
  15.  

Esa sera la tabla que tu debes de generar de alguna forma, eso te lo dejo para ti.

Luego pones una funcion de este tipo:
Código: Text
  1. function Validar(IdFila)
  2. {
  3. var Row=document.getElementById(IdFila);
  4. var Email=Row.cells[0].firstChild.value;
  5. /*
  6. luego
  7. validas el Email y si es correcto que grabe o que haga lo que tu deseas que haga
  8. */
  9. }
  10.  

Espero te sirva, si tienes dudas me comunicas yo te puedo seguir ayudando

Te dejo una imagen de una aplicacion k hice dinamica, donde hay una tabla y cuando pones editar aparecen textbox,combos y botones dinamicamente en la misma final y alli mismo puedes modificar, pero tienes k valdiar algunas cosas como la fecha, las horas.
Título: Re: Validación De Mail
Publicado por: elisa44 en Viernes 23 de Junio de 2006, 21:58
Gracias, pero hay un problema, yo no se cuantas filas van a apareser en la tabla, si yo pongo onclick:Validar(TR2) en el checkbox, me va a validar todos los mail de la tabla, voy a tratar de mandarte el jsp, ya que lo hice antes y no resulto.
Saludos
Título: Re: Validación De Mail
Publicado por: x.cyclop en Viernes 23 de Junio de 2006, 22:00
Código: Text
  1. &#60;input type=&#34;checkbox&#34; value=&#34;1&#34; onclick=&#34;validar(&#60;%=strArray[3]%&#62;)&#34; /&#62;&#60;label&#62;Validar&#60;/label&#62;
  2.  
Título: Re: Validación De Mail
Publicado por: Altareum en Domingo 25 de Junio de 2006, 19:54
Hola Elisa44!

Espero que eto te sirva:

Traté de simplicarlo lo más que pude así quedaba claro el concepto.

Código: Text
  1.  
  2. &#60;script language=&#34;javascript&#34;&#62;
  3. function validarMail(id){
  4.  
  5.   var mail = eval('document.FrmMails.mail'+id+'.value');
  6.   var reg = new RegExp(&#34;^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+&#092;.[a-zA-Z.]{2,5}&#036;&#34;, &#34;i&#34;);
  7.   if(mail.search(reg))
  8.     alert('La dirección es válida');
  9.   else
  10.     alert('La dirección es inválida');
  11. }
  12. &#60;/script&#62;
  13. &#60;body&#62;
  14. &#60;form name=&#34;FrmMails&#34;&#62;
  15. &#60;input type=&#34;text&#34; name=&#34;mail0&#34; value=&#34;&#34;&#62;   &#60;input type=&#34;checkbox&#34; onclick=&#34;javascript:validarMail(0)&#34;&#62;&#60;br&#62;
  16. &#60;input type=&#34;text&#34; name=&#34;mail1&#34; value=&#34;&#34;&#62;   &#60;input type=&#34;checkbox&#34; onclick=&#34;javascript:validarMail(1)&#34;&#62;&#60;br&#62;
  17. &#60;input type=&#34;text&#34; name=&#34;mail2&#34; value=&#34;&#34;&#62;   &#60;input type=&#34;checkbox&#34; onclick=&#34;javascript:validarMail(2)&#34;&#62;&#60;br&#62;
  18. &#60;/form&#62;
  19. &#60;/body&#62;
  20.  
  21.  


Explico un poco el código, el checkbox (al hacer click sobre él), envía un identificador a la función, para saber a que campo de email está relacionado. Veamos el primer campo, envía un 0, este lo recibe la función validarMail.
Con este id, la función busca el input mail0 y asigna su valor a la variable mail
Código: Text
  1. var mail = eval('document.FrmMails.mail'+id+'.value');
  2.  
Por último, valida la dirección utilizando una expresión regular:
Código: Text
  1. if(mail.search(reg))
  2.  
...



La verdad es que, la función regular que puse la saqué de internet, pero no confío mucho en la misma, no se si funciona bien o no, pero depende también del nivel que necesites filtrar, busca en internet que hay muchísimas.


Saludos.
Altareum.
Título: Re: Validación De Mail
Publicado por: giomar en Lunes 7 de Agosto de 2006, 20:37
y si escribo esto mimail@miservidor.com.pe. no lo valida,  X.Cyclop :whistling:
Título: Re: Validación De Mail
Publicado por: elisa44 en Martes 8 de Agosto de 2006, 04:07
Ojo cuando se valida mail, el código es muy largo.......

Saludos