Hola:
Si te fijas, la validación que haces es: onsubmit="return validar(this)". Es decir que debes de usar un método que se llame validar(), y que reciba como parámetro el formulario que piensas validar (o eso se debe suponer), y el mencionado método debe devolver false para cancelar el envío...
En La antigua versión no existía ese método, pero tal vez podría funcionar con validarDNI(), cambiando el parámetro o el cuerpo del método (cambiando el parámetro sería onsubmit="return validarDNI(this.DNI)"... lo del cuerpo te lo dejo.
La nueva versión tiene el método, pero no lo usas bien, porque dentro de ese método incluyes ese validarDNI, pero terminas el método con return true, o sea que cuela todo.
Saludos