Consider this form element:
$form['my_checkboxes'] = array(
'#type' => 'checkboxes',
'#title' => 'my Checkboxes',
'#options' => array(
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
),
'#default_value' => 2,
);
The above throws the following error:
Warning: Invalid argument supplied for foreach() in form_type_checkboxes_value()
(line ... of /var/www/html/includes/form.inc).
This is because the #default_value
for '#type' => 'checkboxes'
is always expected to be provided in a form of an array. So in order to fix the above, the code should be changed to this instead:
- '#default_value' => 2,
+ '#default_value' => array(2),
This always trips me, and although it makes sense in cases where multiple checkboxes from the #options
need to be ticked, it feels silly to impose on developers when we can fix it for them.
See the following resources: - https://www.drupal.org/project/drupal/issues/3009881 - https://www.drupal.org/project/drupal/issues/1768464 - https://www.drupal.org/forum/support/module-development-and-code-questio...
Recent comments
nice find! the links for the most recently updated issues in the core and contrib queues are a great way to stay on top of things—especially now that the feature freeze is just around the corner...
Seeing what issues are new
A simple way — use Field Group to create a container for fields https://backdropcms.org/project/field_group and CSS Flex оr Grid to alignment. You can also create Fieldsets to...
Layout also for /node/add/ forms?
Yes. The are several ways to do this: Install Mail System and select "Testing" for delivery in admin/config/system/mailsystem Install Maillog / Mail developer...
Prevent Backdrop from sending emails