[PHP-users 25757] HTML_QuickForm のfreeze()画面でのフィルター処理
it_555_it @ excite.co.jp
it_555_it @ excite.co.jp
2005年 6月 9日 (木) 00:39:38 JST
こんばんは。
島田です。
HTML_QuickFormに関する質問です。
下記、ざっと書いてしまいましたが良くある使い方だと思います。
// 初期登録画面
if (!$_POST['submit'] || !$form->validate()) {
$sub[] =& $form->createElement('submit', 'confirm', '確認画面');
$form->addGroup($sub, 'submit', null);
} elseif ($form->validate) {
// 確認画面
if ($form->getSubmitValue("submit[confirm]")) {
-- snip --
$form->freeze();
// 登録処理
} elseif ($form->getSubmitValue("submit[regist])) {
$values = getSubmitValues();
-- snip --
DB 処理
}
}
// 以下Smarty処理
?>
さて、あえてfreezeを使って、同一テンプレート(Smarty)で確認画面を表示しているわけですが、
$form->applyFilter() は、上記登録処理時 $values がフィルター対象です。
例えば、 $form->applyFilter('id', 'strtolower'); などとして、
確認画面では既にPOSTされた値を小文字に変換して表示させたい時などは、
このままの実装(freeze)では厳しいでしょうか...。
よろしくお願い致します。
PHP-users メーリングリストの案内