Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2009, 12:01
Avatar de SCY-FOX
SCY-FOX
 
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 17 años, 3 meses
Puntos: 5
¿Cómo hacer un alert con varios mensajes de error?

Saludos.

Tengo un dilema. Necesito validar unos campos de formulario y ahora tengo varios alert que suceden al momento de no cumplirse un requisito. Pero cuando no se cumplen 2 o más, sólo me toma el ultimo error y usa ese alert solamente.

Tengo el siguiente código, pero cuando trato de concatenar los errores para que el alert me muestre solo 1 ventana de error pero con varios mensajes, me dice que está mal escrito.

Código:
//Validador de Formulario de ingreso de nuevos usuarios
function validar(form)
{
 var error = "";
 var mensaje	= "";
 //USERNAME
 if ( document.nuevo_usuario.username.value == "")
 	{
		var error = 1;
		document.nuevo_usuario.username.focus();	
	}

  if ( document.nuevo_usuario.password1.value == "")
 	{
		var error = 3;
		document.nuevo_usuario.password1.focus();	
	}

	//REPETIR PASSWORD
  if ( document.nuevo_usuario.password2.value == "")
 	{
		var error = 7;
		document.nuevo_usuario.password2.focus();	
	}
	
	
	//AMBOS PASSWORD
  if ( document.nuevo_usuario.password1.value != document.nuevo_usuario.password2.value)
 	{
		var error = 7;
		document.nuevo_usuario.password1.focus();	
	} 
	
	
	if ( error != "")
	{
		switch(error) 
		{
			case 1:  mensaje = "El campo USERNAME no puede estar vacio\n"; break
			case 2:  mensaje = "El campo PASSWORD no puede estar vacio\n"; break
			case 3:  mensaje =	"Debe volver a escribir el PASSWORD para validarlo\n"; break;
			case 4:  mensaje =	"El PASSWORD no se ha repetido correctamente\n"; break;
		}
		alert(mensaje);
		return(false);
		stop;
	}
	
	//SI LOS CAMPOS REQUERIDOS ESTAN COMPLETOS, SE ENVIA EL FORMULARIO
	document.nuevo_usuario.accion.value = 1;
	document.nuevo_usuario.submit();
}
¿Cómo puedo hacer para que se vayan juntando los mensajes de error y al final solo envie un alert con todos los errores en una misma ventana??