quickformでPOSTされてない値をvalidateするには
quickformでPOSTされてない値をquickformで扱うには、quickformを作る前に$_POSTに代入すべし
<?php class FormTestAction extends Action { function execute (&$controller, &$request, &$user) { $_POST['test'] = "def"; $form = new HTML_QuickForm('me', 'post', '', '', 'enctype="multipart/form-data"'); //$form->setDefaults(array("test"=>"abc")); $obj = $form->addElement('text', 'test'); $form->addRule('test','input','required'); $form->addElement('submit'); $form->addElement('hidden', 'module', 'Admin'); $form->addElement('hidden', 'action', 'FormTest'); $form->validate(); $form->display(); } } ?>
ここ。こうするとvalidateで値が評価される。
$_POST['test'] = "def"; $form = new HTML_QuickForm('me', 'post', '', '', 'enctype="multipart/form-data"');