使用子表单验证Zend Framework 2中的表单

时间:2015-02-04 11:23:37

标签: php zend-framework zend-framework2 zend-form

我有一个包含子表单的表单。我的问题是如何验证?我不知道如何使用子表单验证此表单。这是代码:

$this->setAttribute('method', 'post');
$this->add(array(
    'name' => 'manual',
    'attributes' => array(
        'type'  => 'hidden',
        'value'=>'1',
    ),
));
$this->add(array(
    'name' => 'id',
    'attributes' => array(
        'type'  => 'hidden',
    ),
));

$subForm = new \Zend\Form\Form();
$subForm->setName('name');
$subForm->add( array(
    'name' => 'ca',
    'type' => 'text',
));
$subForm->add( array(
    'name' => 'en',
    'type' => 'text',
));
$subForm->add( array(
    'name' => 'es',
    'type' => 'text',
));
$this->add($subForm);
$this->add(array(
    'name' => 'acronym',
    'attributes' => array(
        'type'  => 'text',
        'placeholder' => 'acronym',
        'class' => 'docnet-form-acronym-entity',
    ),
));
$this->add(array(
    'name' => 'submit',
    'attributes' => array(
        'type'  => 'submit',
        'class' => 'btn',
        'value' => 'add',
        'id' => 'submitbutton',
    ),
));

我创建了这个表单,因为我有一个元素名称的数组。要列出它有效,但现在我想编辑,我无法验证。

1 个答案:

答案 0 :(得分:1)

我认为您应该使用Zend\Form\Fieldset而不是子表单。它使验证更容易。 ZF2实际上在docs on collections中有一个有用的例子。