Hola:
No es correcta la forma de validar que se plantea, y por cierto, una buena validación debe ser doble, una en javascript, y otra en el server, entre otras cosas por quienes desactivan javascript... pero sobre la validación en el mismo formulario, debe hacerse (hablando de hacerlo bien) desde el evento submit, con una función validadora que devuelva un valor lógico true/false (false cancela el envío)
Como ejemplo contestaré la última pregunta...
Código:
PD: y algo para decir que tenga que introducir minimo un numero de caractétes (para el password)
Código:
<form action="destino.php" method="post" enctype="application/x-www-form-urlencoded" onsubmit="return (pass.value.length > 5)" >
<input type="password" name="pass" />
<button type="submit" >enviar</button>
</form>
Saludos