0
我剛從zf1移動到zf2,一些簡單的任務給我頭痛。 我的窗體上有一些過濾器。過濾器正在形式isValid函數上運行,並且此函數運行後,我希望過濾的數據重新綁定到表單。zf2窗體綁定isValid
我的使用Zend Framework 2.2.7
這是我的控制器代碼:
<?php
namespace Test\Controller;
use Test\Entity\Product;
use Test\Form\CreateProduct;
use Zend\Mvc\Controller\AbstractActionController;
class TestController extends AbstractActionController
{
public function indexAction()
{
$form = new CreateProduct();
$product = new Product();
$form->bind($product);
$request = $this->getRequest();
if ($request->isPost()) {
$form->setData($request->getPost());
if ($form->isValid()) {
var_dump($product);
}
$form->bind($product); // manual rebind seems to work but look hackish
}
return array(
'form' => $form,
);
}
}
我知道您即使在數據無效時也需要應用過濾器。但無論如何,當你再次提交時,它將通過'isValid()'方法調用並應用過濾器。所以最後,你會得到過濾數據。 – 2014-08-27 13:09:08
是的,我的模型已經過濾了數據,但是窗體上的值仍然是發佈時沒有應用過濾器的數據。 – 2014-08-27 13:15:02