Set a multiple field value on a form I use this field definition in the entity "message" class.

$fields['fichier'] = BaseFieldDefinition::create('file')
  -&gt;setLabel(t('Fichier attaché'))
  -&gt;setSetting('file_directory', 'messagerie/fichier') // dossier d'upload
  -&gt;setSetting('max_filesize', '10MB') // taille max du fichier
  -&gt;setSetting('file_extensions', 'pdf doc txt xls zip rar mp3 mp4 csv jpeg jpg ppt') // extensions autorisées, à séparer par un espace
  -&gt;setSetting('description_field', FALSE) // si on veut activer un champ « description »
  -&gt;setDisplayOptions('form', [
    'label' =&gt; 'hidden',
    'type' =&gt; 'file_generic',
    'weight' =&gt; 0,
  ])
  -&gt;setDisplayConfigurable('form', TRUE)
  -&gt;setDisplayConfigurable('view', TRUE);


In the associated form I need to set this field a multiple field (I can't find a way to set cardinality in the definition field).
How can I do that ?
You can use BaseFieldDefinition::setCardinality() for that, e.g.:

$fields['fichier'] = BaseFieldDefinition::create('file')
  -&gt;setLabel(t('Fichier attaché'))
  -&gt;setSetting('file_directory', 'messagerie/fichier') // dossier d'upload
  -&gt;setSetting('max_filesize', '10MB') // taille max du fichier
  -&gt;setSetting('file_extensions', 'pdf doc txt xls zip rar mp3 mp4 csv jpeg jpg ppt') // extensions autorisées, à séparer par un espace
  -&gt;setSetting('description_field', FALSE) // si on veut activer un champ « description »
  -&gt;setDisplayOptions('form', [
    'label' =&gt; 'hidden',
    'type' =&gt; 'file_generic',
    'weight' =&gt; 0,
  ])
  -&gt;setDisplayConfigurable('form', TRUE)
  -&gt;setDisplayConfigurable('view', TRUE)
  -&gt;setCardinality(FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED);