ZF2:如何设置要忽略的表单元素?

mdt*_*thh 5 zend-form zend-framework2

不知何故,我无法忽略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
)
));
Run Code Online (Sandbox Code Playgroud)

这是怎么回事用于在Zend的框架1的工作:

//Zend Framework 1
$this->addElement(
  'submit',
  'login',
  array(
   'ignore' => true,
   'label' => 'Login'
    )
);
Run Code Online (Sandbox Code Playgroud)

编辑:
为什么我需要"忽略"选项?

假设您的表单有一个提交按钮.使用普通的PHP,类似的东西$_POST也会列出你的提交按钮.Zend 1具有有用的选项setIgnore($flag)getIgnore()排除这些元素.$form->getValues()(验证后)将排除标志'ignore'设置为的所有元素TRUE.参见ZF1手册.

Rem*_*mas 2

查看输入过滤器

我的使用是这样的:

  1. 创建您的表格
  2. 创建一个过滤器
  3. 在控制器中使用

    $form = new BasicForm();
    $form->setInputFilter(new BasicFilter());
    
    Run Code Online (Sandbox Code Playgroud)

关于过滤器,你可以这样做:$factory = new InputFactory();

    $this->add($factory->createInput(array(
        'name' => 'birthday',
        'required' => false,
        'allowEmpty' => true,));
Run Code Online (Sandbox Code Playgroud)