Por lo visto, no se puede utilizar la propiedad #required para hacer que los campos de tipo file en los formularios de Drupal sean obligatorios. El problema es que el campo que contiene la ruta del fichero se vacía al realizar la carga, ya que ésta se realiza a nivel de sesión.
Para poder validar si los usuarios rellenan o no un campo obligatorio de tipo file, podemos optar por parchear el core, en el form.inc como sugieren en algunos posts del foro de Drupal.org o podemos validarlo utilizando la variable global $_FILES en el hook validate del propio formulario.
Os dejo un ejemplo:
function member_payment_import_csv_validate($form_id, $form_values) {
foreach($_FILES as $file) { // Se recorre el array $_FILES
if (empty($file['name']['file'])) {
// Y si el nombre del fichero está vacío, devolvemos un error
form_set_error('file',t('Cannot import an empty file'));
}
}
return TRUE;
}
Enviar un comentario nuevo
relacionadas
nube de tags
qué se comenta
- Ok ya lo he mirado decia por por sandra (21noviembre2008)
- Hola Sandra, eres por pedro (21noviembre2008)
- Hola yo me apunto favor me por sandra (21noviembre2008)
- @Oskar, cuando hemos por pedro (19noviembre2008)
- Hace unos meses, por pereza, por Luis Medel (19noviembre2008)
- Nosotros uno de los por Oskar (19noviembre2008)
- Yo todavía no he por pedro (18noviembre2008)
vienen de fuera
- desde Halloween 2008 | lcastro.es (1noviembre2008)
- desde España 2011, el Mundial meneado y chapado | Diario deportes (24octubre2008)
- desde yonkeame.net » Web impresentable para la candidatu (24octubre2008)
- desde yonkeame.net » Web impresentable para la candidatu (24octubre2008)
- desde Web impresentable para la candidatura de España para el mund (24octubre2008)



