Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/02/2011, 15:05
esjuanma
 
Fecha de Ingreso: febrero-2011
Ubicación: Avellaneda, Buenos Aires
Mensajes: 39
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problema de registro =(

Creamos la función validarEmail, que devuelve TRUE si el email es válido o FALSE si es inválido:

Código:
function validarEmail(valor) {
if ( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3,4})+$/.test(valor) ){
return true
} else {
return false
}
}
Fuente: [URL="http://lineadecodigo.com/javascript/validar-el-email-con-javascript/"]lineadecodigo.com/[/URL]

Y ahora pasamos a verificar que todo este en orden.
Para eso usamos el evento Javascript "onsubmit":

Código:
/**
 * Con window.onload nos aseguramos de que ya
 * se hayan cargado todos los elementos de la página
 */
window.onload = function()
{
	// El siguiente bloque de código se ejecuta solo cuando se hace el submit del formulario
	document.getElementById('formulario').onsubmit = function(event)
	{
		var form = this,
			inputs = form.getElementsByTagName('input'),
			error = [],
			input;
		
		// Revisamos que todos los inputs tengan algún valor que no sea nulo (obviando el input submit)
		for(x in inputs)
		{
			input = inputs[x]
			
			if(input.type !== 'submit')
			{
				if(input.value == '')
				{
					error.push('Debe completar el campo ' + input.name)
				}
			}
		}
		
		// Usamos la función validarEmail creada anteriormente
		// Si la validación devuelve FALSE, agregamos el error al array
		if( ! validarEmail(form.getElementById('email').value) )
		{
			error[] = 'El email ingresado no es válido'
		}
	
		// Si hay errores, cancela el envío del formulario (event.preventDefault()) y dá una alerta
		if(error.length > 0)
		{
			event.preventDefault()
			alert(error.join('\n'))
		}
	}
}
Espero haya sido de ayuda