ZF2表单数据在inputfilter对象操作后未从对象更新

时间:2013-01-11 14:42:26

标签: data-binding doctrine-orm zend-form zend-framework2 zend-inputfilter

我有一个表单过滤器,用于更改传递给它的值并返回此新值。绑定实体后,对象将按预期更新为新值,但再次显示表单时,仍会显示旧数据(从表单传递)。

在$ form对象中,有2个数据集,$ data(数组)和$ object(实体)...绑定时,$ data从$ object获取值,当处理输入过滤器时$ object得到从输入过滤器更新,再次显示表单时,显示$ data(没有从输入过滤器更新$ object的对象)...

如何在确定有效性后重新填充$ data(从而运行输入过滤器)?

// $form->data == $entity Values (Original)
$form->bind($entity);
// $form->data updated to $formValues (from post)
$form->setData($formValues);
// $entity Values update to InputFilters & $formValues
if($form->isValid()) {
  // Saves the new $entity values
  $this->getEntityManager()->flush();
}
$response->setVariables(array(
  // $form->data shows $formValues but not updated InputFilter values 
  'form' => $form,
}

0 个答案:

没有答案