- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Perl-Catalyst/ビュー/Catalyst-Plugin-FillInForm へ行く。
- 1 (2007-03-18 (日) 17:18:53)
- 2 (2007-06-24 (日) 14:15:36)
- 3 (2007-09-04 (火) 01:28:26)
- 4 (2008-04-23 (水) 03:32:00)
Catalyst フィルインフォーム
概要
典型的にはFormVliadatorと一緒に使う。その場合、基本的な動作は以下のようになる。
- フォーム入力画面を表示し、名前やE-Mailなどの入力を促す
- [送信ボタンが押される]
- 入力値にヴァリデーションエラーがあれば、フォームに入力値を埋めて再度フォーム入力画面を表示する
手順
以下のようにアプリケーションクラス (lib/Myapp.pm)でモジュールを指定することで自動的にフォームが埋められる。
use Catalyst qw/ FillInForm FormValidator::Simple /
ただし、ヴァリデーションエラーがなかった場合は、フォームは埋められない。このような場合でも埋めたい時は以下のようにアクションクラス(lib/Myapp/Controller/Member.pm )のend()に書く。
fillform()が呼ばれる前にHTMLテンプレートがレンダーされてなければならないので、直前にforward()する必要がある。
sub end : ActionClass('RenderView') { my ( $self, $c ) = @_; $c->forward('Myapp::View::TT') unless $c->res->output; $c->fillform($c->req->params); };