この節では、HTML_QuickForm のサブパッケージ、たとえば独自の要素やレンダラなどについて説明します。
このカスタム要素は、ふたつのセレクトボックスを使用して、 複数選択可能なセレクトボックスを実現します。
Tableless レンダラ (以下の HTML_QuickForm_Renderer_Tableless を参照ください) を使用している場合、このサブパッケージでデフォルトのクライアント側検証を置き換えます。 デフォルトでは JavaScript のアラートウィンドウを使用していますが、 これは (DHTML を使用して) エラーが発生した場所に動的にエラーメッセージを表示します (ドキュメント)。
これは独自の要素で、HTML の入力テキストボックスを作成します。 この要素内で JavaScript の keypressed イベントが発生するたびに 動的なドロップダウンセレクトボックスを返します (選択肢が非常に多いセレクトボックスを実現する際などに特に有用です)。 この要素は AJAX を使用しています。
HTML_QuickForm のデフォルトのレンダラを置き換えるものです。XHTML および CSS だけを使用し、table タグを用いません。そして、妥当な形式の XHTML を出力します (ドキュメント)。
独自の要素です。select 要素に対してクライアント側で動的なフィルタを定義するために使用します。
これら以外にも、まだ PEAR パッケージとして正式に提案されていない サブパッケージがいくつかあります。そのうちのひとつが DHTMLRules サブパッケージで、これはデフォルトレンダラを使用したフォームで使用します。 このパッケージは Justin Patrin が作成しましたが、まだ PEAR パッケージとして提案されていません。
この節では、HTML_QuickForm と組み合わせて使用できるパッケージについて説明します。 データベースとの連携や、複数ページのフォームの扱いなどが含まれます。
FormBuilder は、DB_DataObject および HTML_QuickForm を使用した迅速なアプリケーション開発を助けるものです (ドキュメント)。
これは PEAR DB および MDB2 に組み込むパッケージで、データ型の抽象化および 自動的なテーブル作成、データ検証、insert、update、delete、select を行います。 これらを HTML_QuickForm と組み合わせることによって、テーブルのカラム定義に 一致する入力フォームを自動的に生成することができます (ドキュメント)。
複数のページで構成されるフォームを作りたいなら、このパッケージが最適です。 これは PageController パターンを実装したものです (ドキュメント)。
これら以外にも、オプションあるいは必須といったかたちで HTML_QuickForm を使用しているパッケージがあります。詳細は パッケージのサイト を参照ください。