<?php ini_set("display_errors", "On"); error_reporting(E_ALL); require_once "lib/AutoLoader.php"; use FormObject\Renderer\PhpRenderer; use FormObject\Form; use FormObject\Field; use FormObject\Field\TextField; use FormObject\AdapterFactorySimple; $renderer = new PhpRenderer(); $renderer->addPath(__DIR__ . '/themes/simple'); $adapter = new AdapterFactorySimple(); $adapter->setRenderer($renderer); Form::setGlobalAdapter($adapter); /** * @brief ... * @var \FormObject\Form */ $form = Form::create(); $form->push(TextField::create('name')->setValue('Billy')->setTitle('Please enter your name'), TextField::create('surname')->setValue('Talent')->setTitle('Please enter your surname')); // echo $form; echo "\n" . $form['name']; echo "\n" . $form['surname']; $data = array('name' => 'Smith', 'surname' => 'Steven'); $form->fillByArray($data); $form('name')->addCssClass('important'); echo $form; echo "\n";
class DT extends DateTime { public function __toString() { return $this->format('Y-m-d H:i:s'); } } $interestList = array(array('id' => 3, 'name' => 'Play guitar', 'categoryId' => 2, 'start' => new DT('1998-10-25 10:00:00')), array('id' => 7, 'name' => 'Calligraphy', 'categoryId' => 4, 'start' => new DT('2004-05-21 13:00:00')), array('id' => 14, 'name' => 'Karate', 'categoryId' => 1, 'start' => new DT('1982-04-12 17:45:00')), array('id' => 78, 'name' => 'Calculating PI', 'categoryId' => 5, 'start' => new DT('1977-02-01 03:14:15'))); $columns = array('id' => 'InterestID', 'name' => 'Description', 'categoryId' => 'Category', 'start' => 'Interested since'); $itemForm = Form::create($factory); $itemForm->push(HiddenField::create('id', 'ID'), TextField::create('name', 'Description'), SelectOneField::create('categoryId', 'Category')->setSrc($categories), TextField::create('start', 'Interested since')); /** * @brief ... * @var \FormObject\Form */ $form = Form::create($factory); $form->push($interests = EditManyField::create('items', 'Interests')->setValue($interestList)->setItemForm($itemForm)); $interests->addCssClass('draggable')->addCssClass('removable')->addCssClass('addable'); $nameValidator = new TextValidator(); $nameValidator->required = TRUE; $nameValidator->minLength = 3; $nameValidator->setMaxLength = 12; $surnameValidator = new RequiredValidator(); $surnameValidator->required = TRUE; $requiredValidator = new BooleanValidator(); $requiredValidator->mustBeTrue = TRUE; $validator = new SimpleValidator($form); $validator->set('name', $nameValidator); // $validator->set('surname', $surnameValidator); // $validator->set('rememberMyRadio', $requiredValidator); // $validator->set('message', $requiredValidator);