zend проверить поле множественного выбора

я использую проверки zend в своей форме, и я не мог проверить поле множественного выбора в своей форме.

Это мой элемент множественного выбора в форме:

$days = new Zend_Form_Element_Select('day');
$days->setLabel('Days')
->addMultiOptions($total_days)
->setRequired(true)
->addValidator('NotEmpty')
->setAttrib('multiple', 'multiple');

Я получаю следующую ошибку во время отправки формы, даже когда я выбираю какой-либо параметр в поле множественного выбора:

Массив не найден в стоге сена

И я вижу следующий код в Zend/Validate/InArray.php, который может проверять только отдельные элементы формы, но не массивы:

public function isValid($value)
{
$this->_setValue($value);
if (in_array($value, $this->_haystack, $this->_strict)) 
{
return true;
}
}

Но как я могу устранить ошибку?


person shasi kanth    schedule 23.04.2011    source источник


Ответы (1)


Чтобы в вашей форме были элементы с множественным выбором, вы должны использовать Zend_Form_Element_Multiselect, а не Zend_Form_Element_Select, например:

$days = new Zend_Form_Element_Multiselect('day');
$days->setLabel('Days')
->addMultiOptions($total_days)
->setRequired(true)
->addValidator('NotEmpty');
person Marcin    schedule 23.04.2011