-
-
Notifications
You must be signed in to change notification settings - Fork 53
Open
Labels
Description
Bug Report
Q | A |
---|---|
Version(s) | 2.15.1 |
Summary
I have multicheckoxes. I want to have ability to return empty array if non of checkboxes is checked. I use use_hidden_element
to return hidden input element instead but it returns empty string instead of empty array.
This is my fieldset config:
"productCategories" => [
'type' => MultiCheckbox::class,
'name' => 'categories',
'options' => [
'use_hidden_element' => true,
],
],
this is my input filter config:
"productCategories" => [
'name' => 'categories',
'type' => ArrayInput::class,
//'required' => true,
'required' => false,
'allow_empty' => true,
'continue_if_empty' => true,
'filters' => [
['name' => ToInt::class],
],
],
this is generated hidden input:
<input type="hidden" name="product[categories]" value="">
this is generated checkbox input:
<input type="checkbox" name="product[categories][]" value="12">
<input type="checkbox" name="product[categories][]" value="34">
<input type="checkbox" name="product[categories][]" value="56">
and as result I've got this exception:
Additional information:
Laminas\InputFilter\Exception\InvalidArgumentException
File:
/vendor/laminas/laminas-inputfilter/src/ArrayInput.php:26
Message:
Value must be an array, string given.
Stack trace:
#0 /vendor/laminas/laminas-inputfilter/src/BaseInputFilter.php(544): Laminas\InputFilter\ArrayInput->setValue()
#1 /vendor/laminas/laminas-inputfilter/src/BaseInputFilter.php(206): Laminas\InputFilter\BaseInputFilter->populate()
#2 /vendor/laminas/laminas-inputfilter/src/BaseInputFilter.php(540): Laminas\InputFilter\BaseInputFilter->setData()
#3 /vendor/laminas/laminas-inputfilter/src/BaseInputFilter.php(206): Laminas\InputFilter\BaseInputFilter->populate()
#4 /vendor/laminas/laminas-form/src/Form.php(522): Laminas\InputFilter\BaseInputFilter->setData()