Primero te recomendaria que saques del form el campo hidden y dejes solo el submit, luego valides si se hizo click en el formulario entonces hacer tal cosa, y luego validar cada input de tu form.. algo asi...
Código PHP:
Ver original// Comprobamos si se envio el formulario
if ( isset($_POST['enviar'])) {
// Definimos las variables
if ( !empty($_FILES['archivo']) ) $archivo = $_FILES['archivo'];
// Completamos la variable de error si es necesario
if ( empty($archivo) ) $error['archivo'] = 'Debes elegir un archivo'; }