问问题
452 次
1 回答
1
我可能错了,但我认为您应该idmaquina
在表单configure()函数中添加小部件和字段验证器。
$this->widgetSchema['idmaquina'] = new sfWidgetFormInputHidden();
$this->validatorSchema['idmaquina'] = new sfValidatorChoice(array('choices' => array($this->getObject()->get('idmaquina')), 'empty_value' => $this->getObject()->get('idmaquina'), 'required' => false));
由于您没有在重载表单中创建它,因此它永远不会将其值保存到表单中,并且当您发送表单时,idmaquina
它将为空。您可以使用表单字段 idmaquina 的简单 var_dump 轻松调试它。
更改表单后,转到命令行并在 symfony 项目文件夹中,使用以下命令清除 symfony 缓存:symfony cc
请添加以下代码并检查其值:
在doUpdateObject:
doUpdateObject($values){
echo "values: "; var_dump($values); echo "<br />";
///...
}
在processForm中:
protected function processForm(sfWebRequest $request, sfForm $form) {
$originalForm = $request->getParameter($form->getName()),
$request->getFiles($form->getName());
echo "originalForm: "; var_dump($originalForm); echo "<br />";
echo "idmaquina: " . $originalForm['idmaquina']->getValue(); echo "<br />";
//...
}
您需要确保在表单中设置和发送 idmaquina 的值。
于 2013-06-25T10:25:03.807 回答