Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/12/2009, 15:22
ylodis
 
Fecha de Ingreso: septiembre-2004
Ubicación: Andorra
Mensajes: 130
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Formulario sale de validación con False pero continua la accion

Hola,

El código de la validación es :

function vacio(cadena) {
if (cadena.length < 2)
{
alert("Escriba por su nombre, por favor");
correo.visitor.focus();
return;
}
}

/* dice si cadena es un email ([email protected][.alfanum]) o no, don- */
/* de alfanum son caracteres alfanumericos u otros */
function isMail(Cadena) {

// alert("CADENA : "+Cadena);

Punto = Cadena.substring(Cadena.lastIndexOf('.') + 1, Cadena.length) // Cadena del .com
Dominio = Cadena.substring(Cadena.lastIndexOf('@') + 1, Cadena.lastIndexOf('.')) // Dominio @lala.com
Usuario = Cadena.substring(0, Cadena.lastIndexOf('@')) // Cadena lalala@
Reserv = "@/º\"\'+*{}\\<>?¿[]áéíóú#·¡!^*;,:" // Letras Reservadas

// Añadida por El Codigo para poder emitir un alert en funcion de si email valido o no
valido = true

// verifica qie el Usuario no tenga un caracter especial
for (var Cont=0; Cont<Usuario.length; Cont++) {
X = Usuario.substring(Cont,Cont+1)
if (Reserv.indexOf(X)!=-1)
valido = false
}

// verifica qie el Punto no tenga un caracter especial
for (var Cont=0; Cont<Punto.length; Cont++) {
X=Punto.substring(Cont,Cont+1)
if (Reserv.indexOf(X)!=-1)
valido = false
}

// verifica qie el Dominio no tenga un caracter especial
for (var Cont=0; Cont<Dominio.length; Cont++) {
X=Dominio.substring(Cont,Cont+1)
if (Reserv.indexOf(X)!=-1)
valido = false
}

// Verifica la sintaxis básica.....
if (Punto.length<2 || Dominio <1 || Cadena.lastIndexOf('.')<0 || Cadena.lastIndexOf('@')<0 || Usuario<1) {
valido = false
}

// Añadido por El Código para que emita un alert de aviso indicando si email válido o no

alert("Valido : "+valido);
if (valido) {
return true;
} else {
document.correo.visitormail.focus();
alert('Email no válido.');
return false;
}
}

// ejemplo validacion formulario
function ValidaCampos(form)
{
document.correo.pais.value = geoip_country_name();
alert('Pais : '+document.correo.pais.value);

if(document.correo.visitor.value.length < 2)
{
document.correo.visitor.focus();
alert("Escriba por su nombre, por favor");
return false;
} else {
isMail(document.correo.visitormail.value);
}
}


La llamada : <form method="post" id="correo" name="correo" action="M03-eMail-Enviado.php" onSubmit="return ValidaCampos(this)"/>
.....
<input type="submit" name="Submit" value="Enviar" style="margin-left:130px;">

Última edición por caricatos; 07/12/2009 a las 16:14