fivestar - drupal 8 voting api
Extensiones vĂ¡lidas para el campo de carga en Drupal 7 (3)
Si mira la referencia de la API de formularios, este comentario explica cómo hacerlo.
No puedo probarlo, pero posiblemente algo como esto
$form[''data_file''] = array(
''#type'' => ''file'',
''#title'' => t(''Data File''),
''#description'' => t(''CSV file to upload.''),
''#upload_validators'' => array(
''file_validate_extensions'' => array(0 => ''csv''),
''file_validate_size'' => array(32*1024*1024),
),
);
Necesito hacer un formulario para subir un archivo CSV. Recibo el siguiente error cuando trato de usar el siguiente elemento del formulario:
Solo se permiten los archivos con las siguientes extensiones: jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp.
$form[''data_file''] = array(
''#type'' => ''file'',
''#title'' => t(''Data File''),
''#description'' => t(''CSV file to upload.''),
''#upload_validators'' => array(
''file_validate_extensions'' => array(''csv''),
''file_validate_size'' => array(32*1024*1024),
),
);
¿Cómo puedo permitir que un archivo CSV pase a través del validador?
Pude hacerlo con el siguiente código en el gancho de validación de formulario.
function mymodule_myform_validate($form, $form_state) {
$validators = array(''file_validate_extensions'' => array(''csv''));
$file = file_save_upload(''zipdata_file'', $validators);
...
}
Tu forma de función
// don''t forget this line
$form[''#attributes''] = array(''enctype'' => "multipart/form-data");
$form[''container''][''csv_file''] = array(
''#type'' => ''file'' ,
''#title'' => t(''csv FILE'') ,
''#description'' => t(''insert your csv file here'') ,
) ;
Tu función de validación
function _your_function_validate($form, $form_state) {
$extensions = ''csv'' ;
$validators = array(
''file_validate_extensions'' => array($extensions),
);
// if the file not uploaded or the extension is wrong set error
if(!file_save_upload(''csv_file'', $validators)) { // cvs_file is the form name
form_set_error(''csv_file'', ''Please select the csv file'') ;
}else{
// now the form is uploaded lets make another validation for extension
$file = file_save_upload(''csv_file'', $validators, file_directory_path()) ;
// another validator for the extension
if($file->filemime != ''text/csv'' ) {
form_set_error(''csv_file'', ''Extensions Allowed : csv'') ;
}
}
}