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:
<?php
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
- Seguramente con por pedro (3julio2009)
- esto es lo que iba entre las por michelangelo (3julio2009)
- buenas!!! o no por michelangelo (3julio2009)
- Creo que se te ha ido la mano por pedro (2julio2009)
- Sería bueno que agregaras por makuaka (2julio2009)
- hi por makuaka (2julio2009)
- Hola como estan, acabo de por 4jotas (2julio2009)
desde twitter
de Poker
vienen de fuera
- desde Próxima Drupalada el 10 de Junio | Blog de Carlos Rincón (3junio2009)
- desde Nueva etapa en Neurotic | Jordi Bufí (1junio2009)
- desde Sant Jordi, día del libro en Cataluña, listado completo de a (22abril2009)
- desde Conclusiones de la segunda Drupalada | Blog de Carlos Rincón (2abril2009)
- desde Atenea tech - Blog &raquo; Blog Archive &raquo; Segu (1abril2009)




