无法在zend框架中验证multiselectbox

时间:2012-03-12 06:36:20

标签: php arrays zend-framework

我正在为我的网站使用zendframe工作,我使用下面提到的代码用于多选下拉框。

$newscat        = new Default_Models_Common();
$row_newscat    = $newscat->fillSelect_new("casestudiesservice","serviceId","serviceName", "serviceStatus='1' ORDER BY serviceName ASC");
$casestudiesServices = new Zend_Form_Element_Multiselect('casestudiesServices[]',array(
                            'class'     => 'text',
                            'value' => $view->row->casestudiesServices,
                            'required'   => true));  

它运行正常,但我无法验证该框。它返回空数组

  

(数组(       [0] =>排列           (           )))..

1 个答案:

答案 0 :(得分:0)

请尝试以下方法。也许它对你有用。

使用如下所示的多选元素:

$multi = new Zend_Form_Element_Multiselect('users');
$multi->setMultiOptions(array(
    //'option value' => 'option label'
    '21' => 'Milap',
    '22' => 'jay',
    '23' => 'Sandip'
));
$form->addElement($multi);

你可以得到像这样的元素的值:

public function indexAction()
{
    $form = new MyForm();

    $request = $this->getRequest();
    if ($request->isPost()) {

        if ($form->isValid($request->getPost())) {

            $values = $form->getValues();
            $users = $values['users'];
            var_dump($users);
        }
    }
    $this->view->form = $form;
}

此处,$ users将包含已选择的值的数组:

array(
    0 => '21',
    1 => '23'
)
祝你好运。