Hola:
Si usas un formulario y un botón submit, para evitar que se envíe, si no pasa la validación debes enviar el valor false mediante el evento... en pocas líneas:
<form action="login.php" method="post" onsubmit="return validar(this)" >
... y con javascript
:
function validar(f) {
return f.usuario.value != "" && f.password.value != "";
}
Normalmente suele ser algo más complejo, porque se pueden usar patrones y expresiones regulares, pero el ejemplo es para evitar que estén los campos vacíos.
Algo que también sería interesante saber, es si estás usando Ajax (yo particularmente no lo recomiendo)
Saludos