DB_DataObject_FormBuilder: how to override processForm() method
| From: | Giorgio Gorla | Date: | Wed, 10 Nov 2004 14:38:51 +0000 |
| Subject: | DB_DataObject_FormBuilder: how to override processForm() method | ||
| Groups: | php.pear.general | ||
| Request: | Send a blank email to pear-general+get-15418@lists.php.net to get a copy of this message | ||
In order to insert a new record in a table with natural primary key, I try overriding processForm() method, like suggested by documentation:
<?php
// vim: set filetype=php ai ts=4 sw=4 et fdm=marker :
require_once 'DB/DataObject/FormBuilder.php' ;
class MyDBOF extends DB_DataObject_FormBuilder
{
function MyDBOF(&$do, $options = false)
{
$this->debug("<br>...run MyDBOF class by GG...<br>");
parent::DB_DataObject_FormBuilder($do);
}
function processForm($values)
{
$this->debug("<br>...run processForm() by GG...<br>");
... my stuffs...
}} $do = DB_DataObject::factory($_POST['object']); $formBuilder = MyDBOF::create($do); $form = $formBuilder->getForm(); if ($form->validate()) {
$form->process(array(&$formBuilder, 'processForm'), false);
$form->freeze();
}
echo $form->toHtml();
?>
The code continues running processForm() from DB_DataObject_FormBuilder parent class instead the method written by my.
Any suggestions?
Thanx in advance, G