[PHP-users 21061]Re: HTML_QuickFormのvalidateについて
T.Okabe
okabe @ nsd.jip.co.jp
2004年 3月 30日 (火) 13:16:14 JST
岡部といいます。
>参考になりましたが、開発しているPHPでは
>テンプレートのSmartyを使用しています。
>下記のようなプログラムを作っていますが、サンプルプログラムの
>ように、エラーファンクションに飛びません。
プログラムを見る限り、「エラーファンクション」に飛ぶかどうかと、
smartyを使っていることは、別のことと思いますが?
また、HTML_QuickFormのマニュアルを見ると、
void HTML_QuickForm::process (mixed $callback [, bool $mergeFiles = TRUE])
Performs the form data processing. It actually calls the $callback passing
the submitted values (and files, when $mergeFiles=TRUE) to it.
となっていますが、理解されていますでしょうか?
> if ($form->validate()) {
> // Formが正しかったらfreezeする
> $form->freeze();
>
> // エラー時の表示
> $form->process('errorFunc', false);
> echo "\n<HR>\n";
> }
> function errorFunc($values)
> {
>(以下略)
見る限り、「エラーファンクション」がerrorFuncだとすると、
「// Formが正しかったら」呼ばれるようですが?
validateの戻りが真のとき、freezeの後、"submit value"をerrorFuncに渡し、
それから、validateの戻りに関係なくsmartyによる表示を行っているように、
わたしには読めましたが、如何でしょう。
# サンプルプログラムは、"コピー"せず、"真似"しましょう。
PHP-users メーリングリストの案内