Hola:
Sobre este tema, me parece mejor tener prudencia, ya que si tenemos javascript desactivado no se podría hacer otra cosa que validar únicamente durante el envío, y son cosas que se deben contemplar, aunque el código se incrementase.
De todos modos, básicamente al seleccionarse un archivo debe enviarse el formulario para el chequeo, y debe discriminarse de cuando el envío se hace con un botón submit, por ejemplo poniéndole un nombre al botón.
Si los ficheros son de poco peso, podría enviarse el adjunto en dos ocasiones, pero optimizar el envío implicaría unos cuantos retoques que si te interesa podemos tratar.
Saludos