不知怎的,我无法忽略Zend Framework 2中的Form Elements。
所有这些似乎都不起作用:
$this->add(array(
'name' => 'submit',
'ignore' => TRUE,
'attributes' => array(
'type' => 'submit',
'value' => 'Go!',
'id' => 'submitbutton',
'ignore' => TRUE
),
'options' => array(
'ignore' => TRUE
)
));
这是用于在Zend Framework1中的工作方式:
//Zend Framework 1
$this->addElement(
'submit',
'login',
array(
'ignore' => true,
'label' => 'Login'
)
);
修改:
为什么我需要“忽略”选项?
假设您的表单有一个提交按钮。使用普通的PHP,类似$_POST
的内容也会列出您的提交按钮。 Zend 1具有有用的选项setIgnore($flag)
和getIgnore()
来排除这些元素。 $form->getValues()
(验证后)将排除标记为'ignore'的所有元素设置为TRUE
。请参阅ZF1 manual。
答案 0 :(得分:2)
我的用法是这样的:
在控制器中使用
$form = new BasicForm();
$form->setInputFilter(new BasicFilter());
关于过滤器,您可以这样做: $ factory = new InputFactory();
$this->add($factory->createInput(array(
'name' => 'birthday',
'required' => false,
'allowEmpty' => true,));
答案 1 :(得分:0)
$form->setValidationGroup('email', 'password');
$form->setData($data);
if ($form->isValid()) {
// Contains only the "email" and "password" values
$data = $form->getData();
}
http://framework.zend.com/manual/2.3/en/modules/zend.form.quick-start.html#validation-groups
答案 2 :(得分:0)
我认为你在寻找
'options' => array(
'exclude' => true,
),