PEAR::HTML_QuickForm パッケージは、HTML フォームの生成、検証および処理を行うメソッドを提供します。
HTML_QuickForm は、HTML フォームを便利に扱うためのライブラリです。 Javascript もしくはサーバサイドでの検証を行えますし、 いろいろな方法でカスタマイズや拡張が可能です。 HTML_QuickForm は、複数のファイルから構成されています。 中心となるファイルは、pear/HTML ディレクトリにインストールされた QuickForm.php です。 他に重要なファイルとしては、フォーム要素に関連したメソッドが記述された element.php ファイルや、要素グループを扱うメソッドが書かれた group.php ファイルが挙げられます。どちらも、他のオブジェクトと同様に、 HTML/QuickForm ディレクトリにあります。 input.php には、(text, password 等の) 入力可能なタイプのすべての要素の 共通クラスが記述されています。HTML_QuickForm には、select, text, password, checkbox, file, submit, reset, button, image, radio, hidden, textarea といった 標準的なフォーム要素のそれぞれに対応するオブジェクトが定義されています。 さらに、APIを合致させれば、独自の要素を作ることも可能です。
To be written.
To be written
To be written.
各要素の値を管理し、入力された値を処理するメソッドです。
HTML_QuickForm は、「検証ルール」をサポートしています。 自らの検証ルールを書き、QuickForm に登録した後、自身のスクリプトからコールします。 デフォルトでは、正規表現による検証(preg_match 形式) が、検証が要求された要素についてのみ行われます。 また、クライアント側での検証を行いたい場合は、必要な javascript コードが生成されます。 サーバ側での検証は(デフォルトでは)常に行われます。
フォームへのデータのインポートや、送信されたフォームの処理に際して、フィルタを利用することができます。 フィルタは、時前に登録の必要がないことを除き、検証ルールと同様に動作します。 フィルタ関数を書き、スクリプトからコールします。 (trim, addslashes, htmlentities, などの) すべての PHP 関数が使用できますし、要素値へ再帰的に適用されます。
HTML_QuickForm は、いろいろな種類のレンダラの使用が可能ですので、 フォームの出力を様々にカスタマイズすることができます。 デフォルトのレンダラを使えば、各要素の属性値やエラーメッセージ・ヘッダ・必須入力欄の表示といった点を カスタマイズできますし、独自のレンダラを書くことも可能です。
これらのレンダラは、バージョン 3.0 以前の HTML_QuickForm コードを基礎としており、動作に他のクラスを必要としません。
これらのレンダラは、フォームの HTML 出力の生成にテンプレートエンジンを使用します。
既存のレンダラを拡張したり、新しいレンダラを書く場合には、以下が参考となるでしょう。