我想知道我是做错了什么还是这是ZF2的一个错误:当我尝试在表单上设置一些数据,验证它并检索数据时,它只是一个空数组。
我从一些类中提取了这段代码以简化问题。
$form = new \Zend\Form\Form;
$form->setInputFilter(new \Zend\InputFilter\InputFilter);
$form->add(array(
'name' => 'username',
'attributes' => array(
'type' => 'text',
'label' => 'Username',
),
));
$form->add(array(
'name' => 'submit',
'attributes' => array(
'type' => 'submit',
'value' => 'Register',
),
));
if ($this->getRequest()->isPost()) {
$form->setData($this->getRequest()->getPost()->toArray());
if ($form->isValid()) {
echo '<pre>';
print_r($form->getData());
print_r($form->getMessages());
echo '</pre>';
}
}
两个print_r()
都显示空数组。我无法从表单中获取任何数据,也没有消息。这是我的问题还是ZF2的问题?
print_r($_POST);
和print_r($this->getRequest()->getPost();
,并提供它们以缩小您的问题。 - Samuel Herzog