I am new in zf2
I am always getting the error The input was not found in the haystack
when I have select a language from a drop down. Here's my code:
In my controller
function singleAction(){
—
—-
—-
$language = array();
$languages = $this->getManageTable()->getLanguage();
foreach($languages as $lang){
$language[”] = ‘Select Language';
$language[$lang[‘id_language’]] = $lang[‘name’];
}
—
—-
—-
return new ViewModel(array(
‘form’ => $form,
‘language’ => $language,
));
}
Inside manageForm.php :
// Language Input
$language = new Element\Select(‘language’);
$language->setAttributes(array(
‘id’ => ‘language’,
‘class’ => ‘form-control’,
));
$this->add($language);
$language = new InputFilter\Input(‘language’);
$language->setRequired(false);
//$language->removeValidator(“NotEmpty”); // not working giving error
// not working giving error:
//$language->setAllowEmptysetRegisterInArrayValidator(false);
//$language->setErrorMessage(‘Please select language’);
$inputFilter->add($language);
In my View I called like so:
Language
<?php echo formSelect($form->get(‘language’)->setValueOptions($language)); ?>
Now when I submit without selecting value from drop-down working fine..
..but if I select some language and submit, I get this error The input was not found in the haystack
.
I checked my language data I am getting in post but if ($form->isValid()) {—-}
gives me an error.
How can I resolve this, I checked lot of links but haven't found any solutions. Please help me. I don't want to validate this drop-down element.
This works for me:
$this->add(
array(
'type'=> 'Zend\Form\Element\Select',
'name' => 'language',
'required' => true,
'attributes' => array(
'class' => 'form-control',
'value' => 'en' ,
),
'options' => array(
'disable_inarray_validator' => true,
)
));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With