Zend框架2 - 独立表单

Ain*_*ine 1 forms zend-framework2

是否可以将ZF2表单用作独立组件?ZF1可以实现这一点,但我无法用ZF2来解决这个问题.

我可以创建一个表单和一个验证器,但无法弄清楚如何呈现表单:

$form = new AddressBookForm('address_book'); \\ extends Zend\Form\Form

if ($this->input->isPost()) {
    $validator = new AddressBookValidator(); \\ implements Zend\InputFilter\InputFilterAwareInterface
    $form->setInputFilter($validator->getInputFilter());
    $form->setData($this->input->getPost());

    if ($form->isValid()) {
        echo 'valid'; exit;
    }
}

// Render form somehow here???
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个视图,但无法弄清楚如何给它视图助手.谢谢.

Cod*_*key 7

我有一个基本的解决方案,似乎可以完成这项工作

$zfView = new \Zend\View\Renderer\PhpRenderer();
$plugins = $zfView->getHelperPluginManager();
$config  = new Zend\Form\View\HelperConfig;
$config->configureServiceManager($plugins);
Run Code Online (Sandbox Code Playgroud)

然后渲染表单

echo $zfView->form()->openTag($form);
echo $zfView->formRow($form->get('name'));
echo $zfView->formSubmit( $form->get('submit'));
echo $zfView->form()->closeTag();
Run Code Online (Sandbox Code Playgroud)


Kde*_*com 5

查看此博客.

在View文件中使用Form Render

你可以简单地通过zend框架表单视图帮助器来完成.

$form = $this->form;
$form->prepare();
$this->form()->render($form);
Run Code Online (Sandbox Code Playgroud)

  • 我猜最后一行应该是`echo $ this-> form() - > render($ form);` (2认同)