soy bastante novato y estoy intentando validar un formulario bastante simple.. me pasa esto .. si coloco return false en cada condicion.. solo se ejecuta el codigo hasta el primer error .. el problema es que si solo lo pongo en el ultimo.. y ese esta correcto se envia la información .. como puedo solucionar esto?
Código HTML:
<html>
<head>
<link rel="stylesheet" href="formu.css" type="text/css">
<title>
Fórmulario - Datos personales
</title>
<script language="javascript">
<!--
function valida()
{
if(!(document.registro.nombre.value.length>=4)&&(document.registro.nombre.value.length<=8))
{
if(document.registro.nombre.value.length=="0")
{
document.getElementById("er_name").innerHTML = ("    Este campo no puede estar vacio.");
}
else {
document.getElementById("er_name").innerHTML = ("    Este campo a de tener entre 4 y 8 caracteres");
}
}
if(document.registro.apellidos.value.length=="0")
{
document.getElementById("er_ape").innerHTML = ("    Este campo no puede estar vacio");
return false;
}
else
return true;
}
//-->>
</script>
</head>
<body>
<h2>Datos personales</h2>
<br>
<form name="registro" method="post" onSubmit="return valida()">
<Fieldset style="margin:auto;">
<legend>Registro nuevo usuario</legend>
<label for="nombre">Nombre: </label><input type="text" id="nombre" name="nombre"> <span id="er_name" style="color: red;font-weight:bold;"></span><br>
<label for="apellidos">Apellidos: </label><input type="text" id="apellidos" name="apellidos"><span id="er_ape" style="color: red;font-weight:bold;"></span><br>
<label for="edad">Fecha Nacimiento: </label><br>
<label for="mail">E-Mail: </label><input type="text" id="mail" name="mail"><br>
<label for="username">Nombre Usuario: </label><input type="text" id="username" name="username"><br>
<label for="password">Contraseña: </label><input type="password" id="password" name="password"><br>
<input type="submit" value="enviar">
</fieldset>
</form>