第6回 Catalyst::Plugin::FormValidator::Lazy custom_parameters
概要
俺俺パラメータ設定したいよー。たらららったらーん。custom_parameters!!!
説明
たまにCGI.pmが取得したパラメータじゃなくて、自分で取得した物をわたしたいことがある。そういう時に使用する。
特にセッションを使用している際にいい感じです。
コード
sub neko : Local { my ( $s ,$c ) = @_; $c->stash->{template} = 'neko.tt'; if( $c->req->method eq 'POST' ) { $c->detach('neko_confirm'); } } sub neko_confirm : Private { my ( $s, $c ) = @_; $c->form({required => [qw/neko/]}); if( $c->has_dfv_error ) { return ; } my $v = $c->form->{valid}; $c->session->{v} = $v; $c->stash->{template} = 'neko_confirm.tt'; } sub neko_do : Local { my ( $s, $c ) = @_; $c->form({ custom_parameters => $c->session->{v} || {} , required => [qw/neko/] }); if( $c->has_dfv_error ) { $c->res->status('400'); $c->res->body('error'); return ; } $c->stash->{template} = 'neko_do.tt'; }
簡単ですね。コード見るとわかると思います。:-)