MultiselectTestForm.php in Multiselect 2.x
File
tests/modules/multiselect_test/src/Form/MultiselectTestForm.php
View source
<?php
namespace Drupal\multiselect_test\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
class MultiselectTestForm extends FormBase {
public function getFormId() {
return 'multiselect_test';
}
public function buildForm(array $form, FormStateInterface $form_state) {
$elements = [];
$elements['no_default'] = [
'#title' => 'Multiselect without a default value',
];
$elements['single_default'] = [
'#title' => 'Multiselect with a default value',
'#default_value' => 'banana',
];
$elements['multiple_default'] = [
'#title' => 'Multiselect with multiple default values',
'#default_value' => [
'banana',
'cherry',
],
];
$options = [
'apple' => 'Apple',
'banana' => 'Banana',
'cherry' => 'Cherry',
];
foreach ($elements as $key => $element) {
$form[$key . '_wrapper'] = [
'#type' => 'fieldset',
'#title' => $element['#title'] . ' wrapper',
];
$form[$key . '_wrapper'][$key] = $element + [
'#type' => 'multiselect',
'#options' => $options,
];
}
return $form;
}
public function submitForm(array &$form, FormStateInterface $form_state) {
}
}