Hola:
Un par de apuntes:
Si se declara el elemento como "foto[]"... no vale referenciar ""foto[0]"... si hay un array la definición adecuada es "foto[]"[0]... para tu caso:
formulario.["foto[]"][0].value != ""
Y si el tipo de input es file (no he visto la definición), podrías tener problemas de seguridad (creo que hay navegadores que no lo permiten)
Saludos